/* Loomia Web: strato di brand sopra il CSS compilato e gli stili delle pagine.
   Palette nero / lime / bianco, Inter Tight per i titoli, Inter per il testo,
   Unbounded per i numeri. Nessuna ombra, bottoni a pillola.
   Le classi del sito compilato sono raddoppiate (.x.x) per battere la
   specificita' dei selettori con [data-v-...]. */:root {
  --nero: #0D0D0D;
  --lime: #D2F68D;
  --lime-700: #B9E56A;
  --lime-900: #5F7A1F;
  --bianco: #FFFFFF;
  --avorio: #F4F4F1;
  --carbone: #151515;
  --linea: #262626;
  --grigio-400: #9A9A9A;
  --grigio-600: #5E5E5E;
  --font-titoli: "Inter Tight", "Inter", system-ui, -apple-system, sans-serif;
  --font-testo: "Inter", system-ui, -apple-system, sans-serif;
  --font-numeri: "Unbounded", "Inter Tight", sans-serif;
}

/* ---------- titoli: Inter Tight, a frase, stretti ---------- */h1, h2, h3, h4, :root .hero__title.hero__title, :root .studio-hero__line.studio-hero__line, :root .studio-cook__word.studio-cook__word, :root .studio-cook__sub.studio-cook__sub, :root .studio-services__title.studio-services__title, :root .studio-awards__title.studio-awards__title, :root .studio-team__title.studio-team__title, :root .studio-team__name.studio-team__name, :root .studio-team__surname.studio-team__surname, :root .contacts-hero__line.contacts-hero__line, :root .works-list__title.works-list__title, :root .legal__title.legal__title, :root .legal__body.legal__body h2, :root .local-seo-fluid-title.local-seo-fluid-title, :root .local-seo-hero__intro.local-seo-hero__intro, :root .error-page__code.error-page__code, :root .error-page__title.error-page__title, :root .studio-footer__email.studio-footer__email, :root .nav__mobile-link.nav__mobile-link, .cs-blocco__testo h3, .cs-obiettivo h3, .cs-lezione h3 {
  font-family: var(--font-titoli);
  font-weight: 700;
  letter-spacing: -.02em;
}h1, .cs-apertura h1, :root .studio-hero__line.studio-hero__line, :root .studio-cook__word.studio-cook__word, :root .studio-services__title.studio-services__title, :root .studio-awards__title.studio-awards__title, :root .studio-team__title.studio-team__title, :root .contacts-hero__line.contacts-hero__line, :root .legal__title.legal__title, :root .local-seo-fluid-title.local-seo-fluid-title, :root .error-page__code.error-page__code {
  font-weight: 800;
  letter-spacing: -.03em;
}:root .studio-hero__line.studio-hero__line, :root .studio-cook__word.studio-cook__word, :root .studio-cook__sub.studio-cook__sub, :root .studio-services__title.studio-services__title, :root .studio-awards__title.studio-awards__title, :root .studio-team__title.studio-team__title, :root .contacts-hero__line.contacts-hero__line, :root .works-list__title.works-list__title, :root .legal__title.legal__title, :root .legal__body.legal__body h2, :root .studio-services__name.studio-services__name, :root .studio-team__role.studio-team__role, :root .local-seo-faq__item.local-seo-faq__item h3, :root .local-seo-services__row.local-seo-services__row h3, :root .nav__mobile-link.nav__mobile-link, :root .error-page__title.error-page__title, :root .error-page__home.error-page__home {
  text-transform: none;
}
/* le parole giganti dello studio e dei contatti sono scritte in maiuscolo nel
   markup: si abbassano e si rialza solo la prima lettera della riga */:root .studio-hero__line.studio-hero__line, :root .studio-cook__word.studio-cook__word, :root .studio-cook__sub.studio-cook__sub, :root .contacts-hero__line.contacts-hero__line { text-transform: lowercase; }:root .studio-hero__line.studio-hero__line::first-letter, :root .contacts-hero__line.contacts-hero__line::first-letter { text-transform: uppercase; }.studio-cook__headline-top .studio-cook__pair:first-child .studio-cook__word::first-letter { text-transform: uppercase; }:root .studio-cook__pair--cook .studio-cook__word.studio-cook__word { color: var(--lime); }

/* seconda meta' del titolo in lime (lime 900 su chiaro) */.lime, em.lime { font-style: normal; color: var(--lime-900); }.scuro .lime, .scuro em.lime, .studio-footer--light .lime { color: var(--lime); }

/* ---------- occhielli e numeri ---------- */.occhiello, :root .local-seo-hero__eyebrow.local-seo-hero__eyebrow, :root .local-seo-section__label.local-seo-section__label, :root .local-seo-hero__kicker.local-seo-hero__kicker, .info__external, .label_info, .cs-fatti dt, .kp-eti, .kp-conta {
  font-family: var(--font-testo);
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}.occhiello, :root .local-seo-hero__eyebrow.local-seo-hero__eyebrow, :root .local-seo-section__label.local-seo-section__label { color: var(--lime-900); }.scuro .occhiello { color: var(--lime); }:root .home-footer__center.home-footer__center .home-footer__line, .cs-conta, .cs-fatti dd, .cs-n, .passo3 .n, .n, .kp-conta, :root .layout-switch__count.layout-switch__count, :root .works-view-switch__count.works-view-switch__count {
  font-family: var(--font-numeri);
  font-weight: 500;
  letter-spacing: 0;
}.cs-n, .passo3 .n, .n { color: var(--lime-900); }.scuro .cs-n, .scuro .n, .passo3 .n { color: var(--lime); }

/* ---------- bottoni a pillola: lime / nero, hover lime 700 ---------- */.richiamo, .kp-avvio, .kp-bt, .cs-tab, .kp-scelta, .kp-in, .kp-ta, .richiamo--sito {
  font-family: var(--font-testo);
  font-weight: 600;
}.richiamo, .kp-bt, .kp-avvio { border-radius: 999px; box-shadow: none; }.richiamo:not(.richiamo--vuoto), .richiamo--sito, .kp-bt:not(.kp-bt-vuoto), .kp-avvio {
  background: var(--lime); color: var(--nero);
}.richiamo:not(.richiamo--vuoto):hover, .richiamo--sito:hover, .kp-bt:not(.kp-bt-vuoto):hover, .kp-avvio:hover { background: var(--lime-700); opacity: 1; }.kp-avvio:hover, .richiamo:hover { transform: translateY(-2px); }.scuro .richiamo--vuoto { border-color: rgba(255,255,255,.3); color: var(--bianco); }.scuro .richiamo--vuoto:hover { border-color: var(--lime); }.richiamo:focus-visible, .kp-bt:focus-visible, .kp-avvio:focus-visible, .kp-scelta:focus-visible, .cs-tab:focus-visible, .cs-freccia:focus-visible {
  outline: 3px solid var(--lime-700); outline-offset: 3px;
}.kp-avvio svg { animation: none !important; }.cs-tab[aria-selected="true"] small { color: var(--lime); }.cs-avanza i { background: var(--lime-900); }.cs-cornice__barra i:first-child { background: var(--lime); }

/* ---------- barra di navigazione: lockup Loomia Web ---------- */:root .nav__logo-img.nav__logo-img { height: 28px; width: auto; filter: none; }

/* ---------- marchio grande nel piede ---------- */
/* nel tema compilato "--light" e' il piede su fondo nero (marchio bianco)
   e "--dark" quello su fondo chiaro (marchio nero) */:root .studio-footer--light .studio-footer__logo-img.studio-footer__logo-img { content: url("/images/marchio-footer-chiaro.png"); filter: none; }:root .studio-footer--dark .studio-footer__logo-img.studio-footer__logo-img { content: url("/images/marchio-footer-scuro.png"); filter: none; }

/* ---------- pagina di errore: fondo nero con grana lime ---------- */:root .error-page.error-page .error-page__code, :root .error-page.error-page .error-page__copy, :root .error-page.error-page .error-page__home, :root .error-page.error-page .error-page__title, :root .error-page.error-page .nav__lang-btn, :root .error-page.error-page .nav__link, :root .error-page.error-page .nav__link.is-active, :root .error-page.error-page .nav__logo a { color: var(--avorio); }:root .error-page.error-page .nav__link-dot { background: var(--lime); }:root .error-page.error-page .nav__lang-sep { color: rgba(244,244,241,.5); }:root .error-page.error-page .error-page__home { color: var(--lime); }

/* ---------- consenso cookie ---------- */#cc-main { --cc-btn-primary-bg: var(--lime); --cc-btn-primary-color: var(--nero);
  --cc-btn-primary-hover-bg: var(--lime-700); --cc-btn-primary-hover-color: var(--nero);
  --cc-btn-border-radius: 999px; --cc-font-family: var(--font-testo); }#cc-main .cm__btn:not([data-role=show]):not(.cm__btn--close), #cc-main .pm__btn {
  background: var(--lime) !important; border-color: var(--lime) !important; color: var(--nero) !important;
}#cc-main .cm__btn:not([data-role=show]):not(.cm__btn--close):hover, #cc-main .pm__btn:hover {
  background: var(--lime-700) !important; border-color: var(--lime-700) !important; color: var(--nero) !important;
}

/* prima lettera maiuscola dei titoli giganti: le lettere sono in span
   inline-block, quindi ::first-letter sul contenitore non le raggiunge */
:root .studio-hero__line .gsap-char-reveal-word:first-child .gsap-char-reveal-wrap:first-child,
:root .studio-cook__headline-top .studio-cook__pair:first-child .studio-cook__word .gsap-char-reveal-word:first-child .gsap-char-reveal-wrap:first-child,
:root .contacts-hero__line .gsap-char-reveal-word:first-child .gsap-char-reveal-wrap:first-child,
:root .studio-hero__line > :first-child:not(.gsap-char-reveal-word)::first-letter,
:root .contacts-hero__line > :first-child:not(.gsap-char-reveal-word)::first-letter { text-transform: uppercase; }
/* le stelline di Kreea diventano il marchio Loomia, fermo */
.grz__stella, .prezzo__stella, .scheda__stella, .stella { animation: none !important; }
/* niente decorazioni dietro le schede: il sistema Loomia non ne prevede */
.prezzo__stella, .scheda__stella { display: none !important; }

/* ---------- il team nella pagina Studio (sezione scura prima del piede) ---------- */
.lw-team { background: var(--nero); color: var(--bianco); padding: clamp(72px, 9vw, 140px) var(--margin, 58px); position: relative; z-index: 12; }
.lw-team__dentro { max-width: 1200px; margin: 0 auto; }
.lw-team__occhiello { font-family: var(--font-testo); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--lime); margin: 0 0 18px; }
.lw-team__titolo { font-family: var(--font-titoli); font-weight: 800; font-size: clamp(34px, 4.5vw, 64px); line-height: 1; letter-spacing: -.03em; margin: 0 0 clamp(36px, 5vw, 64px); max-width: 16ch; }
.lw-team__titolo .lime { color: var(--lime); font-style: normal; }
.lw-team__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.lw-team__scheda { background: var(--carbone); border: 1px solid var(--linea); border-radius: 20px; padding: 12px 12px 22px; transition: border-color .25s cubic-bezier(.2,.8,.2,1); }
.lw-team__scheda:hover { border-color: var(--lime); }
.lw-team__foto { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 12px; background: var(--avorio); }
.lw-team__nome { font-family: var(--font-titoli); font-weight: 700; font-size: 22px; letter-spacing: -.02em; line-height: 1.15; margin: 18px 8px 0; }
.lw-team__nome span { display: block; color: var(--grigio-400); font-weight: 500; }
@media (max-width: 900px) { .lw-team__lista { grid-template-columns: repeat(2, 1fr); gap: 16px; } }
@media (max-width: 560px) { .lw-team { padding-left: 20px; padding-right: 20px; } .lw-team__lista { grid-template-columns: 1fr 1fr; gap: 12px; } .lw-team__scheda { padding: 8px 8px 16px; } .lw-team__nome { font-size: 17px; margin: 12px 6px 0; } }

/* nel piede solo la scritta loomia, tagliata in basso come nel file del brand */
:root .studio-footer__logo-img.studio-footer__logo-img { aspect-ratio: 976 / 171; }
