/* Shared typography and spacing. */
:root {
  --ms-font-ui: Arial, Helvetica, sans-serif;
  --ms-lime: #c6f94a;
  --ms-ivory: #f4f2ea;
  --ms-black: #10100f;
  --ms-card-gap: 28px;
  --ms-card-radius: 12px;
  --ms-card-border: #d8d7cd;
  --ms-card-shadow: 0 10px 28px #2628200c;
  --ms-card-padding: 30px;
}

body { color: #24221f; font-family: var(--ms-font-ui); }
.ms-display,
.ms-brand,
.ms-content h1,
.ms-content h2,
.ms-content h3 {
  font-family: var(--ms-font-ui);
  font-weight: 700;
  letter-spacing: -.02em;
  text-transform: none;
  line-height: 1.16;
}
.ms-content { font-family: var(--ms-font-ui); }
.ms-kicker { letter-spacing: .12em; }
.ms-header,
.ms-footer { background: #10100f; }
.ms-nav { gap: clamp(13px, 2vw, 28px); }
.ms-button { border-radius: 12px; }
.ms-button:hover,
.ms-button:focus-visible {
  background: #dcff82;
  box-shadow: 0 10px 25px #c6f94a38;
}
.ms-blog-hero { background: #10100f; border-bottom-color: var(--ms-lime); }
.ms-blog-hero p:not(.ms-kicker),
.ms-blog-intro > p,
.ms-article-hero p,
.ms-service-cta p { font-family: var(--ms-font-ui); }
.ms-blog-hero h1,
.ms-listing h1,
.ms-blog-intro h2,
.ms-blog-card h3 { font-family: var(--ms-font-ui); font-weight: 700; letter-spacing: -.02em; line-height: 1.2; }
.ms-grid-3, .ms-listing-grid { gap: var(--ms-card-gap); }
.ms-blog-card { border-color: var(--ms-card-border); border-radius: var(--ms-card-radius); overflow: hidden; transition: transform .2s, box-shadow .2s; }
.ms-blog-card:hover,
.ms-blog-card:focus-visible { transform: translateY(-3px); box-shadow: 0 14px 34px #251f1818; }
.ms-blog-card h3 { text-transform: none; letter-spacing: -.02em; }
.ms-thumbnail:before { background: #c6f94a21; }
.ms-content a { color: #405700; }
.ms-service { background: #171716; border-color: #34312e; border-radius: var(--ms-card-radius); }
.ms-service a { font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.ms-testimonial { border-left: 3px solid #b7c7af; }
.ms-testimonial-quote { color: #e2eadd; font-size: 34px; line-height: 1; }
.ms-testimonial-author { display: flex; align-items: center; gap: 14px; }
.ms-testimonial-author img { width: 56px; height: 56px; flex: none; border: 2px solid #b7c7af; border-radius: 50%; object-fit: cover; }
.ms-testimonial-author strong { display: block; }
.ms-testimonial-author small { display: block; margin-top: 4px; }
#testimonianze .ms-testimonial-accent { color: #e2eadd; }
.ms-shorts-section { background: #10100f; color: #fff; }
.ms-shorts-section .ms-section-head { border-bottom-color: #393939; }
.ms-shorts-section .ms-section-head h2 { margin-bottom: 0; }
.ms-shorts-section .ms-section-head p:last-child { margin: 10px 0 0; color: #b9b9b9; font-size: 14px; }
.ms-shorts { gap: 16px; scrollbar-color: #616161 transparent; }
.ms-short { width: clamp(150px, 16vw, 190px); }
.ms-short-image { position: relative; display: block; overflow: hidden; border: 1px solid #454545; border-radius: 12px; }
.ms-short-image img { display: block; width: 100%; aspect-ratio: 9 / 16; object-fit: cover; transform: scale(1.07); transition: transform .25s; }
.ms-short:hover .ms-short-image img,
.ms-short:focus-visible .ms-short-image img { transform: scale(1); }
.ms-short-play { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ms-lime); color: #111; transform: translate(-50%, -50%); }
.ms-short strong { margin-top: 12px; color: #f7f7f7; font-size: 13px; line-height: 1.4; }
.ms-short:hover strong,
.ms-short:focus-visible strong { color: var(--ms-lime); }
.ms-proof { background: #171716; }
.ms-modal-panel { box-shadow: 8px 8px 0 var(--ms-lime); }
.ms-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ms-card-gap); }
.ms-footer-grid > div { min-height: 190px; padding: var(--ms-card-padding); background: #1b1b1a; border: 1px solid #343434; border-radius: var(--ms-card-radius); }
.ms-footer-grid h3 { margin: 0 0 20px; }
.ms-footer-grid a { margin: 0 0 13px; }
.ms-footer-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px 28px; }
.ms-footer-meta-links { display: flex; flex-wrap: wrap; gap: 16px; }
.ms-footer-meta-links a { display: inline; margin: 0; }
.ms-category-nav a:hover,
.ms-category-nav a[aria-current=page] { background: #221a16; border-color: #221a16; }
.ms-category-intro { max-width: 800px; margin: 0 0 46px; padding: 0 0 0 24px; border-left: 3px solid #658467; }
.ms-category-intro p { margin: 0; color: #343a34; font-size: clamp(18px, 2vw, 21px); line-height: 1.65; }
.ms-category-editorial { display: grid; gap: 34px; max-width: 960px; margin: 74px auto 14px; padding: clamp(28px, 5vw, 58px); background: var(--ms-ivory); border: 1px solid var(--ms-card-border); border-radius: var(--ms-card-radius); }
.ms-category-editorial-block h2 { margin: 0 0 13px; color: #202420; font: 700 clamp(26px, 3vw, 34px)/1.2 var(--ms-font-ui); letter-spacing: -.02em; }
.ms-category-editorial-block p { max-width: 76ch; margin: 0 0 15px; color: #414741; font-size: 17px; line-height: 1.75; }
.ms-category-editorial-block p:last-child { margin-bottom: 0; }
.ms-category-editorial-links { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 12px; row-gap: 4px; padding-top: 2px; font-size: 15px !important; }
.ms-category-editorial-links strong { color: #232c23; }
.ms-category-editorial-links a { color: #235133; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.ms-category-related { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-top: 26px; border-top: 1px solid var(--ms-card-border); }
.ms-category-related strong { margin-right: 8px; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; }
.ms-category-related a { padding: 10px 14px; background: #fff; border: 1px solid var(--ms-card-border); border-radius: 8px; color: #235133; font-size: 14px; font-weight: 700; text-decoration: none; }
.ms-category-related a:hover, .ms-category-related a:focus-visible { border-color: #658467; text-decoration: underline; }
/* Home: calm, full-width color blocks without decorative section dividers. */
body.home {
  --ms-home-deep: #2b2d2a;
  --ms-home-deep-card: #383a37;
}
body.home .ms-hero h1,
body.home .ms-hero h2 {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.12;
  text-transform: none;
}
body.home .ms-hero h2 { margin-top: 24px; }
body.home .ms-section h2,
body.home .ms-section h3 { font-family: Arial, Helvetica, sans-serif; font-weight: 700; text-transform: none; }
body.home .ms-section h2 { letter-spacing: -.015em; line-height: 1.22; }
body.home .ms-section h3 { letter-spacing: -.01em; line-height: 1.28; }
body.home .ms-section .ms-kicker { margin: 0 0 20px; }
body.home .ms-section-head { margin-bottom: 36px; }
body.home .ms-section-head h2 { margin-bottom: 0; }
body.home #video-in-pillole .ms-section-head h2 { margin-bottom: 0; }
body.home .ms-section-head a { text-underline-offset: 5px; }
body.home :is(#video-in-pillole, #testimonianze, #chi-sono, #contatti) {
  background: #fff;
  color: #24221f;
}
body.home :is(#video-completi, #ultimi-dal-blog, #servizi) {
  background: var(--ms-ivory);
  color: #24221f;
}
body.home #testimonianze .ms-testimonial { background: var(--ms-ivory); border: 1px solid var(--ms-card-border); box-shadow: var(--ms-card-shadow); color: #24221f; }
body.home #testimonianze .ms-testimonial blockquote { color: #383832; }
body.home #testimonianze .ms-testimonial-quote,
body.home #testimonianze .ms-testimonial-accent { color: #536238; }
body.home #testimonianze .ms-testimonial-author small { color: #62645f; }
body.home #testimonianze .ms-testimonial-author img { border-color: var(--ms-card-border); }
body.home .ms-testimonials-more { margin-top: 24px; }
body.home .ms-testimonials-more summary { display: flex; align-items: center; justify-content: center; gap: 10px; width: fit-content; margin-inline: auto; padding: 12px 18px; border: 1px solid var(--ms-card-border); border-radius: var(--ms-card-radius); color: #354929; font-size: 14px; font-weight: 700; cursor: pointer; list-style: none; }
body.home .ms-testimonials-more summary::-webkit-details-marker { display: none; }
body.home .ms-testimonials-more summary:hover,
body.home .ms-testimonials-more summary:focus-visible { background: var(--ms-ivory); }
body.home .ms-testimonials-more[open] summary span { transform: rotate(180deg); }
body.home .ms-testimonials-more .ms-grid-3 { margin-top: var(--ms-card-gap); }
body.home #video-in-pillole .ms-section-head { border-bottom-color: var(--ms-card-border); }
body.home #video-in-pillole .ms-shorts { gap: var(--ms-card-gap); scrollbar-color: #a8aaa3 transparent; scroll-padding-inline: 0; }
body.home #video-in-pillole .ms-short { box-sizing: border-box; width: clamp(160px, 18vw, 220px); padding: 10px 10px 16px; background: var(--ms-ivory); border: 1px solid var(--ms-card-border); border-radius: var(--ms-card-radius); box-shadow: var(--ms-card-shadow); }
body.home #video-in-pillole .ms-short-image { border: 0; border-radius: 8px; }
body.home #video-in-pillole .ms-short strong { margin: 14px 4px 0; color: #24221f; font-size: 14px; }
body.home #video-in-pillole .ms-short:hover strong,
body.home #video-in-pillole .ms-short:focus-visible strong { color: #405700; }
body.home :is(#video-completi .ms-video-card, #ultimi-dal-blog .ms-blog-card, #servizi .ms-service) {
  background: #fff;
  border: 1px solid var(--ms-card-border);
  border-radius: var(--ms-card-radius);
  box-shadow: var(--ms-card-shadow);
}
body.home #video-completi .ms-video-card { overflow: hidden; }
body.home #video-completi .ms-video-card img { display: block; }
body.home #video-completi .ms-video-card strong { margin: 0; padding: 16px 18px 18px; font-size: 16px; line-height: 1.4; }
body.home #ultimi-dal-blog .ms-blog-card { padding: 14px; }
body.home #ultimi-dal-blog :is(.ms-blog-card-cover, .ms-thumbnail) { border-radius: 8px; }
body.home #ultimi-dal-blog .ms-blog-card-body { padding: 22px 10px 12px; min-height: 138px; }
body.home #ultimi-dal-blog .ms-blog-card h3 { margin-top: 12px; font-size: 20px; line-height: 1.36; letter-spacing: -.01em; }
body.home #chi-sono .ms-proofs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ms-card-gap); background: transparent; border: 0; }
body.home #chi-sono h2 { margin-bottom: 36px; }
body.home #chi-sono .ms-proof { display: flex; flex-direction: column; justify-content: center; min-height: 190px; background: var(--ms-ivory); border: 1px solid var(--ms-card-border); border-radius: var(--ms-card-radius); padding: var(--ms-card-padding); box-shadow: var(--ms-card-shadow); }
body.home #chi-sono .ms-proof b { color: #405700; font-family: Arial, Helvetica, sans-serif; font-weight: 700; line-height: 1.1; }
body.home #chi-sono .ms-proof span { color: #484a43; }
body.home #chi-sono > .ms-wrap > p { margin-top: 25px; }
body.home #chi-sono > .ms-wrap > p a { color: #405700; text-underline-offset: 5px; }
body.home #servizi > .ms-wrap > p:not(.ms-kicker) { max-width: 690px; margin: 0 0 32px; color: #514f49; line-height: 1.6; }
body.home #servizi .ms-service { color: #24221f; }
body.home #servizi .ms-service .ms-kicker { color: #536238; }
body.home #servizi .ms-service p { color: #51524d; }
body.home #servizi .ms-service-links { border-top: 1px solid #dedfd6; padding-top: 10px; }
body.home #servizi .ms-service-links a { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 0; padding: 10px 0; color: #273c28; font-size: 13px; text-decoration: none; }
body.home #servizi .ms-service-links a + a { border-top: 1px solid #eeeee8; }
body.home #servizi .ms-service-links a:hover,
body.home #servizi .ms-service-links a:focus-visible { color: #111; text-decoration: underline; }
body.home #servizi .ms-service-links a span { font-size: 18px; }
body.home #contatti p { max-width: 650px; margin-bottom: 25px; color: #51524d; font-size: 18px; line-height: 1.6; }
body.home #contatti .ms-home-contact-panel { display: flex; align-items: center; justify-content: space-between; gap: var(--ms-card-gap); padding: clamp(30px, 5vw, 52px); border: 1px solid var(--ms-card-border); border-radius: var(--ms-card-radius); background: var(--ms-ivory); box-shadow: var(--ms-card-shadow); }
body.home #contatti .ms-home-contact-panel > div { min-width: 0; }
body.home #contatti .ms-home-contact-panel .ms-kicker { margin: 0 0 16px; color: #536238; font-size: 12px; }
body.home #contatti .ms-home-contact-panel h2 { margin-bottom: 16px; }
body.home #contatti .ms-home-contact-panel p:last-child { margin-bottom: 0; }
body.home #contatti .ms-home-contact-panel .ms-button { flex: none; }
body.home #contatti .ms-button { background: var(--ms-lime); border-color: var(--ms-lime); color: #111; }

@media (max-width: 1100px) {
  .ms-header-inner { gap: 12px; }
  .ms-nav a { font-size: 12px; }
}

@media (max-width: 800px) {
  .ms-mobile-menu-toggle { border-color: #5a514b; }
  .ms-nav { gap: 0; }
  body.home #chi-sono .ms-proofs { grid-template-columns: 1fr; }
  .ms-footer-grid { grid-template-columns: 1fr; }
  body.home #contatti .ms-home-contact-panel { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  body.home #video-in-pillole .ms-short { width: min(62vw, 220px); }
}
