/* GTN semantic palette: change roles here, never invent a per-page hover shade.

 * Navy surfaces #102d43 | light surfaces #edf4f8 | white titles #ffffff

 * Light-surface body #4b6072 | dark-surface body #c0cfdb

 * Contact-reference light actions #c3e3f5 with ink #12364f | editorial accent #487e9d.

 * Brand artwork, data/status colours and approved hero gradients are independent.

 */

:root{

 --gtn-surface-dark:#102d43;--gtn-surface-light:#edf4f8;

 --gtn-text-on-dark:#fff;--gtn-description-on-dark:#c0cfdb;

 --gtn-text-on-light:#102d43;--gtn-description-on-light:#4b6072;

 --gtn-action-hover:#c3e3f5;--gtn-action-hover-ink:#12364f;

 --gtn-editorial-accent:#487e9d;

 --gtn-navy:var(--gtn-surface-dark);--gtn-pale:var(--gtn-surface-light);

 --gtn-muted:var(--gtn-description-on-light);--gtn-accent:var(--gtn-editorial-accent);

 --gtn-nav-hover:var(--gtn-action-hover);--gtn-nav-ink:var(--gtn-action-hover-ink);

}

/* Only action controls: card/photograph hovers retain their own reveal behaviour. */

html body main :is(.button,.g-button,.fe-button,.q-pill,.cr-start-button,.ez-more,

 .hero-explore,.contact-link,.area-gtn-access,.nv-call,.nv-image-view,.ns-action,

 .cl-action,.save-action,.fid-actions button,.bc-shortcuts a,.hub-card-links a,

 .fe-categories a,.care-story-toggle,.care-story-replay,

 .guide-presets button,.sector-picker button,.sector-modes button,.bc-ops-tabs button,

 .hub-filters button,.ez-filters button,.nv-controls nav button,.nv-arrows button,

 .nv-toolbar button,.g-team-controls button,.save-discounts button,.fid-rate button,

 .ns-lot-tabs button):not(:disabled):not([aria-disabled=true]):is(:hover,:focus-visible){

 background:var(--gtn-action-hover);color:var(--gtn-action-hover-ink);

}

html body #contatti.contact .contact-link:is(:hover,:focus-visible),

html body .hero .hero-actions .hero-explore:is(:hover,:focus-visible),

html body .nv-expanded .nv-toolbar button:is(:hover,:focus-visible),

html body .gtn-scroll-top:is(:hover,:focus-visible){background:var(--gtn-action-hover);color:var(--gtn-action-hover-ink)}

html body main :is(.g-button,.fe-button,.hero-explore,.contact-link,.hub-card-links a,.nv-call):is(:hover,:focus-visible) :is(svg,.arrow){color:inherit}

html body main :is(.bc-ops-tabs button,.sector-picker button):is(:hover,:focus-visible) :is(strong,span,small){color:inherit}

/* Home software: preserve the approved outer disclosure; refine only its contents. */

html body main .platform-disclosure .platform-list>a:is(:hover,:focus-visible){background:var(--gtn-surface-light);color:var(--gtn-text-on-light)}

html body main .platform-disclosure .platform-list>a:is(:hover,:focus-visible) h3{color:var(--gtn-text-on-light)}

html body main .platform-disclosure .platform-list>a:is(:hover,:focus-visible) p{color:var(--gtn-description-on-light)}

html body main .platform-disclosure .platform-list>a:is(:hover,:focus-visible)>span:last-child{background:var(--gtn-surface-dark);color:var(--gtn-action-hover)}

html body main .platform-disclosure .software-preview{background:var(--gtn-surface-light);color:var(--gtn-action-hover-ink)}

html body main .platform-disclosure>summary .software-preview small{color:var(--gtn-description-on-light)}

/* Shared body-copy hierarchy on pale/white surfaces. */

html body main :is(.section-description,.g-split-heading>p,.sector-lead,

 .intro-bottom p,.panel-description,.bc-network-copy>p:not(.g-kicker),

 .bc-impact article p,.bc-method-grid p,.bc-verification p:not(.g-kicker),

 .cr-values p,.q-intro p,.ez-aton-summary,.ez-excerpt,.ez-aton-note){color:var(--gtn-description-on-light)}

/* Shared body-copy hierarchy on dark surfaces. */

html body main :is(.hero-description,.g-hero-description,.care-description,

 .store-explorer .section-description,.g-history-heading p:not(.g-kicker),

 .g-milestone p,.g-presence .g-split-heading>p,.g-offices article p:not(.g-kicker),

 .bc-operations .g-split-heading>p,.bc-op-panel p,.sector-solutions .g-split-heading>p,

 .hub-card-copy>p:not(.g-kicker),.nv-description){color:var(--gtn-description-on-dark);opacity:1}

html body .nv-expanded .nv-description{color:var(--gtn-description-on-dark);opacity:1}

/* An editorial card has a white headline, grey description and separate action. */

html body main .ez-card:is(:hover,:focus-within) :is(h2,h3){color:var(--gtn-text-on-dark)}

html body main .ez-card:is(:hover,:focus-within) :is(.ez-aton-summary,.ez-excerpt,.ez-meta){color:var(--gtn-description-on-dark);opacity:1}

html body main .ez-card:is(:hover,:focus-within) .ez-meta span{opacity:1}

html body main .ez-card:is(:hover,:focus-within) .ez-read{color:var(--gtn-text-on-dark);opacity:1}

html body main .bc-support-grid article:is(:hover,:focus-within) p{color:var(--gtn-description-on-dark)}

/* Inline links remain inline; a pale fill would destroy the reading layout. */

html body main .text-link:is(:hover,:focus-visible){color:var(--gtn-editorial-accent)}

html body main .care .text-link:is(:hover,:focus-visible){color:var(--gtn-action-hover)}

@media(forced-colors:active){

 html body main .ez-card:is(:hover,:focus-within) :is(h2,h3,.ez-aton-summary,.ez-excerpt,.ez-meta,.ez-read){color:CanvasText}

}



html body main .ez-card .ez-article-language,html body main .journal-article-language{color:var(--gtn-description-on-light,#4b6072);font-size:.85rem;line-height:1.5;margin:.6rem 0}.ez-card:hover .ez-article-language,.ez-card:focus-within .ez-article-language{color:var(--gtn-description-on-dark,#c0cfdb)!important}


/* Decorative motion runs without pause UI, as requested by Rodrigo.

   Foreground film playback and reduced-motion handling remain independent. */

html body :is(.alliance-art-control,.method-art-control,.method-depth-control,.footer-motion-control,.care-story-toggle,.care-map-toggle,.plexus-control,.editorial-pause,.explorer-plexus-toggle,.hero-video-toggle,.video-toggle,.method-video-control){display:none!important}


/* Institutional documents and filled utility actions use the same colour roles. */

html body main :is(.institutional-document,.privacy-body) :is(p,li){color:var(--gtn-description-on-light)}

html body main :is(.institutional-document,.privacy-body) :is(h2,h3){color:var(--gtn-text-on-light)}

html body main :is(.guide-results,.guide-deadline>div:last-child) p,

html body main .guide-results :is(dt,.guide-tier-table small),

html body main .guide-pos-steps p{color:var(--gtn-description-on-dark)}

html body main .institutional-document .gtn-cookie-settings{background:var(--gtn-surface-dark);color:var(--gtn-text-on-dark)}

html body main :is(.gtn-cookie-settings,.privacy-tools button,.privacy-mail,.guide-source-links .q-text-link):is(:hover,:focus-visible){background:var(--gtn-action-hover);color:var(--gtn-action-hover-ink)}

html body :is(.pc-banner,.pc-dialog) .pc-button:is(:hover,:focus-visible){background:var(--gtn-action-hover);color:var(--gtn-action-hover-ink);filter:none;opacity:1}

html body :is(.pc-banner__text,.pc-category__text){color:var(--gtn-description-on-dark)}


/* Shared pale action base and hover for the Home software invitation. */
:root{--gtn-action-light:var(--gtn-action-hover)}

/* Every pale action uses the contact button's blue, including legacy group links. */
html body .hero .hero-actions .hero-explore,html body .hero-player-close{background:var(--gtn-action-light);color:var(--gtn-action-hover-ink)}
html body main .g-company-grid article>a{background:var(--gtn-action-light);color:var(--gtn-action-hover-ink);transition:background .3s,color .3s,box-shadow .3s}
html body main .g-company-grid article>a:is(:hover,:focus-visible){background:var(--gtn-surface-dark);color:var(--gtn-action-hover)}
html body main :is(.g-history-years button[aria-pressed=true],.g-history-years button:hover,.g-history-controls button,.bc-ops-tabs button[aria-selected=true],.sector-modes button[aria-pressed=true],.sector-picker button[aria-pressed=true],.hero-player-close){background:var(--gtn-action-light);color:var(--gtn-action-hover-ink)}
html body main #gtn-store-3d :is(.enter,.signage-play,.journey-next){background:var(--gtn-action-light);color:var(--gtn-action-hover-ink)}
html body main #gtn-store-3d :is(.checkout-views,.dock-modes,.journey-stops,.area-tabs,.technology-shortcuts) button:is([aria-pressed=true],[aria-current=step]){background:var(--gtn-action-light);color:var(--gtn-action-hover-ink)}
html body main .platform-disclosure>summary .software-preview-hint{background:var(--gtn-action-light);color:var(--gtn-action-hover-ink)}
html body main .platform-disclosure>summary .software-preview-hint{transition:background .25s,color .25s}
html body main .platform-disclosure>summary .software-preview-hint:is(:hover,:focus-visible){background:var(--gtn-surface-dark);color:var(--gtn-text-on-dark)}
/* Expanded visit controls sit within one rounded surface with equal insets. */
html body #gtn-store-3d.store3d-fullscreen,html body #gtn-store-3d:fullscreen{display:flex;flex-direction:column;gap:12px;overflow:hidden}
html body #gtn-store-3d.store3d-fullscreen .store3d-toolbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;height:auto;min-height:72px;padding:12px 16px;margin:0;border-radius:24px;background:var(--gtn-surface-dark);color:var(--gtn-description-on-dark)}
html body #gtn-store-3d.store3d-fullscreen .gtn-toolbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}
html body #gtn-store-3d.store3d-fullscreen .store3d-toolbar .gtn-toolbar-actions>button{height:44px;min-height:44px;max-width:100%;padding:10px 16px;line-height:1.2;border:0;border-radius:999px;font-size:13px;margin:0;box-shadow:none}
html body #gtn-store-3d.store3d-fullscreen .store3d-toolbar .gtn-toolbar-actions>button:not(.store3d-expand){background:#ffffff14;color:var(--gtn-text-on-dark)}
html body #gtn-store-3d.store3d-fullscreen .store3d-toolbar .gtn-toolbar-actions>button:not(:disabled):is(:hover,:focus-visible){background:var(--gtn-action-hover);color:var(--gtn-action-hover-ink)}
html body #gtn-store-3d.store3d-fullscreen .explorer{flex:1;min-height:0!important;height:auto!important}
@media(max-width:700px){html body #gtn-store-3d.store3d-fullscreen .store3d-toolbar{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px;border-radius:20px}html body #gtn-store-3d.store3d-fullscreen .store3d-toolbar>span:not(.gtn-expanded-brand){display:none}html body #gtn-store-3d.store3d-fullscreen .gtn-toolbar-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}html body #gtn-store-3d.store3d-fullscreen .store3d-toolbar .gtn-toolbar-actions>button{width:100%;font-size:12px;padding:10px 12px}}

/* Sector hero networks remain present, with a quiet area behind the copy. */
html body:is([data-gtn-path="/gdo-do"],[data-gtn-path="/retail"],[data-gtn-path="/out-of-home"],[data-gtn-path="/food-equipment"]) .g-hero>.g-plexus{opacity:.45;mask-image:linear-gradient(90deg,#0005,#000 78%)}
@media(max-width:640px){html body:is([data-gtn-path="/gdo-do"],[data-gtn-path="/retail"],[data-gtn-path="/out-of-home"],[data-gtn-path="/food-equipment"]) .g-hero>.g-plexus{opacity:.32;mask-image:linear-gradient(90deg,#0007,#000)} }

/* The sitemap opening follows the shared gutter and rounded surface sizes. */
html body .site-directory .directory-heading{width:calc(100% - 32px);max-width:none;padding:clamp(32px,4.5vw,64px) max(24px,calc(clamp(24px,5vw,88px) - 16px));border-radius:30px}
html body .site-directory{border-radius:0 0 30px 30px}
html body .directory-group a:is(:hover,:focus-visible){background:var(--gtn-action-hover);color:var(--gtn-action-hover-ink)}
html body .directory-link-copy{flex:1;min-width:0}
html body .directory-article-language{display:block;font-size:12px;line-height:1.5;color:var(--gtn-description-on-light);margin-top:4px}
@media(max-width:640px){html body .site-directory .directory-heading{width:calc(100% - 20px);padding:28px 14px;border-radius:24px}html body .site-directory{border-radius:0 0 24px 24px}}

/* Group copy uses the same opening gutter as the rest of the public pages. */
html body[data-gtn-path="/gruppo"] .g-hero-copy{width:min(1376px,calc(100% - clamp(48px,10vw,176px)));margin-inline:auto;padding-left:0;padding-right:0}

/* Footer flags are cutouts, without a surrounding stroke or shadow. */
html body .gtn-footer-language .gtn-language-flag,html body .gtn-footer-language .gtn-language-flag svg{border:0;outline:0;box-shadow:none}
html body .gtn-footer-language .gtn-language-flag::before,html body .gtn-footer-language .gtn-language-flag::after{display:none}
/* Software rows reveal quietly; the arrow carries the dark action accent. */
html body main .platform-disclosure .platform-list>a{border-radius:18px}

/* Text roles follow the actual surface, including pale presence and dark sector panels. */
html body main .g-presence .g-wrap .g-split-heading>p{color:var(--gtn-description-on-light)}
html body main.sector-page .sector-solutions .sector-lead{color:var(--gtn-description-on-dark)}
html body main .ez-card .ez-meta,html body main .ez-card .ez-meta span{color:var(--gtn-description-on-light);opacity:1}

html body main .ez-card:is(:hover,:focus-within) .ez-meta span{color:var(--gtn-description-on-dark)}
html body main .ez-reading-layout>aside a{color:var(--gtn-text-on-light)}
html body main .platform-hub-link a:is(:hover,:focus-visible){background:var(--gtn-action-hover);color:var(--gtn-action-hover-ink)}

/* RT guide: the reference image supplies the plexus; the added network stays discreet. */
html body main.rt-guide .institutional-hero>.gtn-standard-poster{opacity:.32;mask-image:linear-gradient(90deg,#0005,#000 85%)}
html body main.rt-guide .institutional-hero>.g-plexus{opacity:.20;mask-image:linear-gradient(90deg,#0003,#000 85%)}
html body main.rt-guide .institutional-hero .institutional-wash::after{display:none}
@media(max-width:640px){html body main.rt-guide .institutional-hero>.gtn-standard-poster{opacity:.24}html body main.rt-guide .institutional-hero>.g-plexus{opacity:.14}}

/* Fade the transition network before the RT introduction and slide frame. */
html body main.rt-guide>.g-hero-transition>.g-plexus{opacity:.16;mask-image:linear-gradient(#0008,transparent 90%)}
html body main.rt-guide .rt-stage>.g-plexus{opacity:.12}

/* Disclosure colours follow the Index: pale at rest, navy when expanded. */
html body main.rt-guide .rt-faq-section{background:#fff}
html body main.rt-guide .rt-faq details{background:var(--gtn-surface-light);transition:background .3s,color .3s}
html body main.rt-guide .rt-faq summary{color:var(--gtn-text-on-light);transition:background .3s,color .3s}
html body main.rt-guide .rt-faq details:not([open]) summary:is(:hover,:focus-visible){background:var(--gtn-surface-light)}
html body main.rt-guide .rt-faq .rt-faq-toggle{background:var(--gtn-action-hover);color:var(--gtn-action-hover-ink);transition:background .3s,color .3s}
html body main.rt-guide .rt-faq details[open]{background:var(--gtn-surface-dark);color:var(--gtn-text-on-dark)}
html body main.rt-guide .rt-faq details[open] summary:is(summary,:hover,:focus-visible){background:transparent;color:var(--gtn-text-on-dark)}
html body main.rt-guide .rt-faq details[open]>p{color:var(--gtn-description-on-dark)}
html body main.rt-guide .rt-faq details[open] .rt-faq-toggle{background:var(--gtn-action-hover);color:var(--gtn-action-hover-ink)}

/* Capsule actions share the Contattaci rhythm and the two established colour roles. */
html body main [data-gtn-action-tone][data-gtn-action-tone],html body .header [data-gtn-action-tone]{transition:background .3s,color .3s,box-shadow .3s;translate:none;transform:none}
html body main [data-gtn-action-tone=light][data-gtn-action-tone]{background:var(--gtn-action-light);color:var(--gtn-action-hover-ink)}
html body main [data-gtn-action-tone=dark][data-gtn-action-tone]{background:var(--gtn-surface-dark);color:var(--gtn-text-on-dark)}
html body main [data-gtn-action-tone=light][data-gtn-action-tone]:not(:disabled):not([aria-disabled=true]):is(:hover,:focus-visible){background:var(--gtn-surface-dark);color:var(--gtn-action-hover);translate:none;transform:none}
html body main [data-gtn-action-tone=dark][data-gtn-action-tone]:not(:disabled):not([aria-disabled=true]):is(:hover,:focus-visible){background:var(--gtn-action-hover);color:var(--gtn-action-hover-ink);translate:none;transform:none}
html body #contatti.contact .contact-link[data-gtn-action-tone]{background:var(--gtn-surface-dark);color:var(--gtn-text-on-dark);transition:background .3s,color .3s,box-shadow .3s;translate:none;transform:none}
html body #contatti.contact .contact-link[data-gtn-action-tone]:is(:hover,:focus-visible){background:var(--gtn-action-hover);color:var(--gtn-action-hover-ink);translate:none;transform:none}
html body .header .header-cta:is(:hover,:focus-visible){background:var(--gtn-surface-dark);color:var(--gtn-action-hover)}
html body [data-gtn-action-tone] .gtn-arrow{transition:transform .35s cubic-bezier(.22,1,.36,1);transform:none}
html body main .g-button[data-gtn-action-tone]:is(:hover,:focus-visible)>span:has(>.gtn-arrow){transform:none}
html body [data-gtn-action-tone]:not(.header-cta):is(:hover,:focus-visible) .gtn-arrow[data-gtn-direction=diagonal]{transform:translate(2px,-2px)}
html body [data-gtn-action-tone]:not(.header-cta):is(:hover,:focus-visible) .gtn-arrow[data-gtn-direction=forward]{transform:translateX(2px)}
html body .hero .hero-actions .hero-explore:is(:hover,:focus-visible){background:var(--gtn-surface-dark);color:var(--gtn-action-hover);translate:none}
html body .hero .hero-actions .hero-explore .arrow svg{transform:none;transition:transform .35s cubic-bezier(.22,1,.36,1)}
html body .hero .hero-actions .hero-explore:is(:hover,:focus-visible) .arrow svg{transform:translateX(2px)}

/* Pseudo-element arrows are vector masks too, so no mobile emoji font is involved. */
html body #mondo-gtn .tour-top .explorer-collapse::after{content:'';display:inline-block;width:1em;height:1em;vertical-align:-.12em;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 18 18 6M7 6h11v11' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
@media(prefers-reduced-motion:reduce){html body main [data-gtn-action-tone][data-gtn-action-tone],html body .header [data-gtn-action-tone],html body #contatti.contact .contact-link[data-gtn-action-tone],html body [data-gtn-action-tone] .gtn-arrow,html body .hero .hero-actions .hero-explore .arrow svg,html body main.rt-guide .rt-faq :is(details,summary,.rt-faq-toggle){transition:none}html body [data-gtn-action-tone]:is(:hover,:focus-visible) .gtn-arrow,html body .hero .hero-actions .hero-explore:is(:hover,:focus-visible) .arrow svg{transform:none}}
/* Rounded actions share the Contact label roll (including the hero override).
   Text copies never take part in layout, hit testing, or accessible names. */
.gtn-roll-action[data-gtn-roll-position]{position:relative}
.gtn-roll-action,.gtn-roll-action :not(svg):not(svg *):not(.gtn-roll-copy):not(.gtn-roll-copy *){-webkit-text-fill-color:transparent!important}
.gtn-roll-copy{position:absolute;inset:0;pointer-events:none;-webkit-text-fill-color:currentColor;color:inherit}
.gtn-roll-copy,.gtn-roll-copy *{-webkit-text-fill-color:currentColor!important}
.gtn-roll-line{position:absolute;display:block;overflow:hidden;white-space:pre}
.gtn-roll-track{display:flex;flex-direction:column;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.gtn-roll-track>span{display:block;line-height:inherit;white-space:pre}
.gtn-roll-action:is(:hover,:focus-visible):not(:disabled) .gtn-roll-track{transform:translateY(-50%)}
html body .has-roll .roll-track{transition:transform .45s cubic-bezier(.22,1,.36,1)}
html body .has-roll:is(:hover,:focus-visible):not(:disabled) .roll-track{transform:translateY(-50%)}
html body .hero-actions .hero-explore.has-roll:is(:hover,:focus-visible) .roll-track{transform:translateY(-50%)}
@media(prefers-reduced-motion:reduce){
 .gtn-roll-track,html body .has-roll .roll-track{transition:none!important;transform:none!important}
}
@media(forced-colors:active){.gtn-roll-copy{display:none}.gtn-roll-action,.gtn-roll-action *{-webkit-text-fill-color:currentColor!important}}
/* A restrained, temporary plexus bridge, rather than another permanent layer. */
.rt-panel[data-motion=platform]{position:relative}
.rt-transition-plexus{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.rt-panel[data-motion=platform] .rt-stage-content{animation:none}
.rt-navigation-hint{flex-basis:100%;font-size:11px;line-height:1.5;color:var(--gtn-description-on-dark,#c0cfdb);opacity:.8}
.rt-experience .rt-controls{flex-wrap:wrap}
@media(max-width:760px){.rt-navigation-hint{order:3;font-size:10px}}
@media(prefers-reduced-motion:reduce){.rt-transition-plexus{display:none}}

/* Mobile chrome: keep the close glyph separate from the rolling text.
   The chapter rail uses its real label so touch/focus cannot displace it. */
@media(max-width:960px){
 html body .menu-dialog .menu-close{font-size:14px;line-height:1.2;min-height:44px;height:44px;gap:12px}
 html body .menu-dialog .menu-close>.gtn-roll-copy,
 html body .menu-dialog .menu-close .gtn-roll-copy span{font-size:inherit;line-height:inherit}
 html body .menu-dialog .menu-close>span:not(.gtn-roll-copy){display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:24px;line-height:1;-webkit-text-fill-color:currentColor!important}
 html body .section-rail a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;height:44px;padding:0 14px;text-align:center;line-height:1.2}
 html body .section-rail a>span:not(.gtn-roll-copy){position:static;display:block;align-self:center;margin:0;padding:0;line-height:1.2;-webkit-text-fill-color:currentColor!important}
 html body .section-rail a.gtn-roll-action>span:not(.gtn-roll-copy){-webkit-text-fill-color:currentColor!important}
 html body .section-rail a>.gtn-roll-copy{display:none}
}

/* CTA labels and their arrow occupy separate flex slots, including before JS. */
html body #contatti.contact .contact-link{display:inline-flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;min-height:58px;padding:8px 10px 8px 24px;line-height:1.5}
html body #contatti.contact .contact-link>span:not(.contact-circle):not(.gtn-roll-copy){order:-1;position:static;min-width:0}
html body #contatti.contact .contact-link>.contact-circle{order:0;display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;margin:0;transform:none}
html body #contatti.contact .contact-link>.contact-circle svg{width:22px;height:22px;color:inherit;display:block}
html body #contatti.contact .contact-link>.gtn-roll-copy{order:0;position:absolute;inset:0;margin:0;padding:0;width:auto;height:auto;line-height:inherit;transform:none}

/* Keep the metrology photo at its native portrait ratio instead of enlarging a narrow crop. */
.q-page #organismo{display:grid;grid-template-columns:minmax(260px,440px) minmax(0,1fr);gap:36px;align-items:start}.q-page #organismo>.g-split-heading{grid-column:1/-1;margin-bottom:0}.q-page #organismo>.q-laboratory-photo{width:100%;margin:0;align-self:start}.q-page #organismo .q-laboratory-photo img{width:100%;height:auto;aspect-ratio:768/1376;object-fit:contain}.q-page #organismo>.q-facts{grid-template-columns:1fr;gap:16px}.q-page #organismo .q-facts>div{padding:26px}.q-page #organismo .q-facts strong{font-size:38px;margin:16px 0}.q-page #organismo .q-facts strong small{font-size:20px}.q-page #organismo .q-facts p{font-size:15px;line-height:1.65}@media(max-width:900px) and (min-width:651px){.q-page #organismo{grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:24px}.q-page #organismo .q-facts>div{padding:20px}.q-page #organismo .q-facts strong{font-size:31px}}@media(max-width:650px){.q-page #organismo{grid-template-columns:1fr;gap:24px}.q-page #organismo>.q-laboratory-photo{max-width:360px;justify-self:center}.q-page #organismo .q-laboratory-photo img{height:auto}.q-page #organismo>.q-facts{gap:12px}}

/* Moving map labels remain real text, independent of decorative CTA copies. */
html body #gtn-store-3d .gtn-roll-action,html body #gtn-store-3d .gtn-roll-action *{-webkit-text-fill-color:currentColor!important}html body #gtn-store-3d .gtn-roll-copy{display:none!important}
#gtn-store-3d #loading .loading-brand{width:min(400px,100%);max-width:400px}#gtn-store-3d .store3d-load-path{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:100%;margin:24px 0 4px;color:#c3e3f5;font-size:11px;letter-spacing:.03em;line-height:1.5}#gtn-store-3d .store3d-load-path:before{content:'';position:absolute;top:4px;left:16%;right:16%;height:1px;background:#c3e3f52b}#gtn-store-3d .store3d-load-path>span{position:relative;padding-top:20px;text-align:center;opacity:.55;transition:opacity .4s}#gtn-store-3d .store3d-load-path>span:before{content:'';position:absolute;top:0;left:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:#c3e3f5;box-shadow:0 0 0 4px #c3e3f50a}#gtn-store-3d .store3d-load-path>span.is-connected{opacity:1}#gtn-store-3d .store3d-load-path>span.is-current:before{animation:gtn-load-node 1.8s ease-in-out infinite}#gtn-store-3d .store3d-load-phase{display:inline-block;min-height:2.7em;max-width:310px;line-height:1.5}#gtn-store-3d .store3d-load-progress{margin-top:20px}@keyframes gtn-load-node{50%{box-shadow:0 0 0 7px #c3e3f51a,0 0 18px #c3e3f599}}
.q-page #organismo{grid-template-columns:minmax(240px,340px) minmax(0,1fr)}.q-page #organismo>.q-laboratory-photo{align-self:stretch;min-height:420px;max-height:700px}.q-page #organismo .q-laboratory-photo img{position:absolute;inset:0;height:100%;aspect-ratio:auto;object-fit:cover}.q-photo-plexus{position:absolute;inset:0;z-index:1;width:100%;height:100%;color:#c3e3f5;opacity:.4;pointer-events:none}.q-laboratory-photo figcaption{z-index:2}.q-photo-signal{opacity:.85;animation:q-photo-flow 9s linear infinite}@keyframes q-photo-flow{to{stroke-dashoffset:-664}}@media(max-width:650px){.q-page #organismo{grid-template-columns:1fr}.q-page #organismo>.q-laboratory-photo{max-width:300px;min-height:0;max-height:none;aspect-ratio:768/1376}.q-photo-plexus{opacity:.32}}@media(prefers-reduced-motion:reduce){.q-photo-signal,#gtn-store-3d .store3d-load-path>span.is-current:before{animation:none}}

/* Keep mobile menu label copies visible, with the link's hover contrast. */
.menu-dialog nav a>.gtn-roll-copy{display:block;color:inherit;font:inherit;letter-spacing:inherit}
.menu-dialog nav a>.gtn-roll-copy span{color:inherit;font:inherit;letter-spacing:inherit;-webkit-text-fill-color:currentColor!important}
@media(forced-colors:active){.menu-dialog nav a>.gtn-roll-copy{display:none!important}}

/* Accreditation scope: readable copy and a clearly identifiable document link. */
html body .q-page #strumenti .g-split-heading>p,html body .q-page #strumenti .q-capacities p{color:#fff;opacity:1}
html body .q-page #strumenti .q-text-link{color:#fff;font-weight:500;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;min-height:44px}
html body .q-page #strumenti .q-text-link:is(:hover,:focus-visible){color:var(--gtn-sky,#c3e3f5);text-decoration-thickness:2px}
