/* Y2K Digital — componenti condivisi, leggibilità e navigazione */
.site-updated { --gold-text:#816025; --site-ink:#0e1d2a; --site-gold:#d4b06b; font-size:16px; }
.site-updated [hidden] { display:none !important; }
.site-updated main { display:block; }
.site-updated :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #816025; outline-offset:4px; }
.site-updated :is(.nav,.hero,.footer,.starter-hero,.immersive-photo) :is(a,button):focus-visible { outline-color:#f5efe4; }
.site-skip { position:fixed; z-index:200; top:12px; left:16px; transform:translateY(-180%); padding:12px 20px; background:#fff; color:#0e1d2a; font-weight:700; }
.site-skip:focus { transform:none; }
.site-updated :is(section,form,[id]) { scroll-margin-top:112px; }
.site-updated .nav { position:fixed; inset:0 0 auto; padding:16px clamp(20px,4vw,64px); gap:24px; background:rgba(14,29,42,.97); }
.site-updated .nav :is(.brand,.nav__brand) { display:flex; flex-direction:column; align-items:flex-start; flex:0 0 auto; gap:4px; min-width:180px; margin:0; font-family:'Cormorant Garamond',Garamond,serif; }
.site-updated .nav .brand::after { content:none; }
.site-updated .nav__brand-main { font-family:'Cormorant Garamond',Garamond,serif; font-size:30px; line-height:1; color:#f5efe4; }
.site-updated .nav__brand-main em { color:#d4b06b; }
.site-updated .nav__brand-sub { font-family:Manrope,system-ui,sans-serif; color:#ddd8cf; font-size:10px; font-weight:700; letter-spacing:.13em; line-height:1.5; text-transform:uppercase; }
.site-updated .nav :is(.nav-links,.nav__links) { gap:22px; margin-left:auto; list-style:none; }
.site-updated .nav :is(.nav-links,.nav__links) > li > a { display:inline-flex; align-items:center; min-height:40px; font-size:14px; letter-spacing:0; font-weight:600; text-transform:none; white-space:nowrap; color:#f5efe4; }
.site-updated .nav [aria-current='page'] { color:#d4b06b !important; }
.site-updated .nav__switch--desktop { min-width:0; margin-left:0; }
.site-updated .nav__switch-item { min-height:36px; font-size:12px; padding:0 12px; letter-spacing:0; }
.site-updated .nav__switch-item--active,.site-updated .nav__switch-item--active:hover { color:#0e1d2a !important; }
.site-updated .nav :is(.nav__toggle,.burger) { width:44px; height:44px; margin-left:auto; }
/* Le pagine interne lasciano vedere il contenuto sotto l'apertura. */
.site-updated .hero.hero--photo { min-height:0 !important; padding:150px 0 72px; }
.site-updated .hero.hero--photo .hero__content { width:min(100%,1200px); max-width:1200px; margin:0 auto; padding:0 clamp(20px,5vw,64px); }
.site-updated .hero.hero--photo h1 { max-width:850px; font-size:clamp(46px,5.6vw,76px); line-height:1.03; margin-bottom:24px; }
.site-updated .hero.hero--photo :is(p,.lead) { max-width:730px; font-size:18px; line-height:1.7; }
.site-updated.page-home .hero.hero--photo { min-height: min(720px,90svh) !important; display:flex; align-items:center; padding:144px 0 70px; }
.site-updated.page-home .hero.hero--photo h1 { max-width:790px; }
.site-updated.page-contatti .hero.hero--photo { padding:132px 0 44px; }
.site-updated.page-contatti .hero.hero--photo h1 { max-width:880px; font-size:clamp(42px,5vw,64px); }
.site-updated.page-contatti .contact { padding-top:54px; }
.site-updated .immersive-photo { min-height:clamp(420px,65svh,680px); }
.site-updated :is(.card a,.card .more,.about-grid .more,.card__num,.step__num,.eyebrow,.section-kicker,.sector-kicker,.promo-tag) { color:#816025; }
.site-updated :is(.hero,.immersive-photo,.footer,.starter-hero) :is(.eyebrow,.section-kicker,.card__num,.more) { color:#d4b06b; }
.site-updated .btn { color:#0e1d2a; font-size:14px; min-height:48px; letter-spacing:.025em; }
.site-updated :is(.btn-primary,.btn--gold,.nav-cta,.nav__cta) { background:#d4b06b; color:#0e1d2a; }
.site-updated :is(.btn-primary,.btn--gold,.nav-cta,.nav__cta):hover { background:#e2c58b; color:#0e1d2a; }
.site-updated .btn--ink { background:#0e1d2a; color:#fff; }
.site-updated :is(.btn-ghost,.btn--ghost,.btn--line) { background:transparent; color:#0e1d2a; border:1px solid #816025; }
.site-updated :is(.hero,.cta-banner,.starter-hero) :is(.btn-ghost,.btn--ghost) { color:#f5efe4; border-color:#d4b06b; }
.site-updated .btn-wa,.site-updated .btn-wa:hover { background:#087b42; color:#fff; border-color:#087b42; }
.site-updated :is(.eyebrow,.section-kicker,.badge,.sector-kicker,.promo-tag) { font-size:13px; }
.site-updated .contact-request .field label { font-size:14px; }
.site-updated .contact-request { position:static; }
.site-updated .contact-request__submit { color:#fff; background:#087b42; }
.site-updated .contact-request__submit:hover { color:#fff; background:#066535; }
.contact-request__copy { width:100%; margin-top:10px; color:#0e1d2a; background:transparent; border:1px solid #816025; }
.contact-request__preview { margin-top:18px; border-top:1px solid #ddd8cf; padding-top:16px; }
.contact-request__preview textarea { min-height:220px; width:100%; margin-top:10px; padding:12px; font:inherit; font-size:14px; border:1px solid #87949e; background:#fff; color:#0e1d2a; resize:vertical; }
.contact-request__status { font-size:14px; color:#274b65; min-height:1.6em; margin-top:10px; }
.site-updated .contact-request .form-note { font-size:14px; }
.site-updated .footer { background:#0e1d2a; color:#f5efe4; padding:64px 0 24px; }
.site-updated :is(.footer__grid,.foot-grid) { display:grid; grid-template-columns:1.2fr 1.2fr .8fr 1fr; gap:32px; }
.site-updated .footer :is(h3,h4) { margin-bottom:16px; color:#f5efe4; }
.site-updated .footer :is(p,a) { color:#ddd8cf; font-size:14px; line-height:1.65; }
.site-updated .footer :is(.footer__grid,.foot-grid) > div > a { display:block; padding:4px 0; }
.site-updated .footer a:hover { color:#d4b06b; text-decoration:underline; }
.site-updated :is(.footer__bottom,.foot-bottom) { border-top:1px solid #40505c; margin-top:36px; padding-top:20px; font-size:13px; gap:16px; }
.decision-section { background:#faf6ee; padding:64px 0; }
.decision-section h2 { max-width:820px; margin-bottom:20px; }
.decision-section .decision-intro { max-width:760px; margin-bottom:30px; color:#556370; }
.decision-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid #ddd8cf; background:#fffdf8; }
.decision-grid article { padding:28px; border-right:1px solid #ddd8cf; }
.decision-grid article:last-child { border-right:0; }
.decision-grid h3 { font-size:30px; margin-bottom:14px; }
.decision-grid p,.decision-grid li { font-size:16px; color:#556370; }
.decision-grid ul { padding-left:20px; margin:16px 0; }
.decision-grid a { display:inline-block; color:#816025; text-decoration:underline; text-underline-offset:4px; margin-top:16px; font-weight:700; }
.comparison-scroll { overflow-x:auto; border:1px solid #c7cccd; }
.comparison-scroll:focus-visible { outline:3px solid #816025; }
.site-comparison { width:100%; min-width:640px; border-collapse:collapse; background:#fffdf8; text-align:left; }
.site-comparison caption { text-align:left; padding:18px; font-weight:700; color:#0e1d2a; background:#f1ebdf; }
.site-comparison th,.site-comparison td { padding:18px; vertical-align:top; border-bottom:1px solid #ddd8cf; font-size:15px; line-height:1.6; }
.site-comparison thead { background:#0e1d2a; color:#f5efe4; }
.site-comparison tbody th { min-width:160px; font-weight:700; }
.decision-note { margin-top:20px; max-width:860px; font-size:14px; color:#556370; }
@media(min-width:981px) and (max-width:1180px){
 .site-updated .nav { gap:14px; }
 .site-updated .nav :is(.nav-links,.nav__links) { gap:14px; }
 .site-updated .nav__switch--desktop { display:none; }
 .site-updated .nav :is(.brand,.nav__brand) { min-width:170px; }
}
@media(max-width:980px){
 .site-updated .nav__switch--desktop { display:none; }
 .site-updated .nav :is(.nav__toggle,.burger) { display:flex; }
 .site-updated .nav .nav-links,.site-updated .nav .nav__links { position:fixed; top:80px; left:0; right:0; margin:0; padding:20px 24px 28px; flex-direction:column; gap:6px; background:#0e1d2a; max-height:calc(100svh - 80px); overflow-y:auto; }
 .site-updated .nav .nav-links:not(.open),.site-updated .nav:not(.is-open) .nav__links { display:none !important; }
 .site-updated .nav .nav-links.open,.site-updated .nav.is-open .nav__links { display:flex !important; transform:none; }
 .site-updated .nav__switch-mobile { display:block; }
 .site-updated .nav :is(.nav-links,.nav__links) > li > a { width:100%; min-height:44px; }
 .site-updated :is(.footer__grid,.foot-grid) { grid-template-columns:1fr 1fr; }
 .decision-grid { grid-template-columns:1fr; }
 .decision-grid article { border-right:0; border-bottom:1px solid #ddd8cf; }
 .decision-grid article:last-child { border-bottom:0; }
}
@media(max-width:640px){
 .site-updated .hero.hero--photo { padding:128px 0 48px; }
 .site-updated.page-home .hero.hero--photo { min-height:0 !important; padding:136px 0 56px; }
 .site-updated .hero.hero--photo h1 { font-size:clamp(42px,10vw,58px); }
 .site-updated .hero.hero--photo :is(p,.lead) { font-size:16px; }
 .site-updated.page-contatti .hero.hero--photo { padding:124px 0 36px; }
 .site-updated :is(.footer__grid,.foot-grid) { grid-template-columns:1fr; }
 .site-updated .immersive-photo { min-height:460px; }
 .decision-section { padding:48px 0; }
 .decision-grid article { padding:24px; }
}
@media(prefers-reduced-motion:reduce){
 .site-updated,.site-updated * { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
 .site-updated .reveal { opacity:1 !important; transform:none !important; }
}
.site-updated .decision-section .container { max-width:1200px; padding:0 clamp(20px,5vw,64px); margin:0 auto; }
.site-updated.ai-page .decision-section { color:#0e1d2a; }
.site-updated.ai-page .decision-section h2 { font-size:clamp(36px,4vw,54px); }
.site-updated.ai-page .decision-section .decision-intro { color:#556370; }
.site-updated .site-comparison a { color:#816025; text-decoration:underline; }
.cost-checklist { border-left:2px solid #b8924a; padding-left:22px; margin:24px 0; }
.cost-checklist dt { margin-top:16px; color:#0e1d2a; }
.cost-checklist dd { margin:6px 0 0; color:#556370; line-height:1.65; }
.service-paths { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 28px; padding:24px; background:#f1ebdf; border-bottom:1px solid #ddd8cf; }
.service-paths a { color:#274b65; font-size:15px; text-decoration:underline; text-underline-offset:4px; }
.site-updated .article-body ul { padding-left:24px; margin:20px 0 26px; }
.site-updated .article-body li { margin-bottom:12px; color:#556370; line-height:1.7; }
.site-updated.ai-page :is(.calculator-result,.demo-copy) .eyebrow { color:#d4b06b; }
.site-updated .decision-section h2 { font-size:clamp(36px,4vw,52px); line-height:1.1; }
.site-updated.page-contatti .contact__grid .lead { display:flex; flex-direction:column; }
.site-updated.page-contatti .contact-list { order:1; }
.site-updated.page-contatti .contact-photo { order:2; margin-top:26px; }
.site-updated.page-contatti .contact-photo img { max-height:280px; object-fit:cover; }
@media(max-width:980px){
 .site-updated.page-contatti .contact-request { order:-1; }
}
@media(max-width:640px){
 .site-updated .hero.hero--photo { background-image:linear-gradient(90deg,rgba(14,29,42,.91),rgba(14,29,42,.70)),var(--hero-photo),linear-gradient(135deg,#12384f,#0e1d2a) !important; }
}
.site-updated .hero h1 { text-wrap:balance; }
.site-updated :is(.strip__label,.srv .num,.step .sn) { color:#816025; }
