        * { box-sizing: border-box; }
    html { scroll-behavior: auto; }
    @media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
    body {
      margin: 0;
      background: var(--color-cream);
      color: var(--color-text);
      font-family: var(--font-sans);
      font-weight: 300;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    img { max-width: 100%; display: block; }

    h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 500; margin: 0 0 var(--space-4); color: inherit; }
    h1 { font-size: clamp(2.25rem, 1.4rem + 3.6vw, 4.5rem); line-height: var(--lh-display); letter-spacing: -0.01em; text-wrap: balance; }
    h2 { font-size: clamp(1.75rem, 1.2rem + 2.2vw, 3rem); line-height: var(--lh-heading); text-wrap: balance; }
    h3 { font-size: clamp(1.35rem, 1.1rem + 1.1vw, 2rem); line-height: var(--lh-heading); text-wrap: balance; }
    p, li { line-height: var(--lh-body); }
    p { max-width: var(--measure); text-wrap: pretty; margin: 0 0 var(--space-4); }
    li, blockquote { max-width: var(--measure); }
    .lead, .subtitle { max-width: var(--measure-narrow); }

    .pp-eyebrow {
      font-family: var(--font-sans);
      font-size: 0.72rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: inherit;
      opacity: 0.72;
      margin: 0 0 var(--space-3);
      display: block;
    }

    section { padding-block: var(--space-10); }
    section.is-compact { padding-block: var(--space-9); }
    section.is-roomy { padding-block: var(--space-11); }
    @media (max-width: 768px) {
      section { padding-block: var(--space-9); }
      section.is-compact { padding-block: var(--space-8); }
      section.is-roomy { padding-block: var(--space-10); }
    }

    .pp-container { max-width: 1280px; margin-inline: auto; padding-inline: var(--space-6); }
    @media (max-width: 768px) { .pp-container { padding-inline: var(--space-4); } }

    /* Bottoni */
    .pp-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: var(--space-2);
      padding: var(--space-3) var(--space-6);
      border: 1px solid currentColor;
      background: transparent;
      color: inherit;
      font-family: var(--font-sans);
      font-size: 0.78rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      text-decoration: none;
      cursor: pointer;
      transition: background 120ms linear, color 120ms linear, transform var(--anim-dur-ui) var(--anim-ease-ui);
      white-space: nowrap;
    }
    .pp-btn--dark { color: var(--color-brown-dark); }
    .pp-btn--dark:hover { background: var(--color-brown-dark); color: var(--color-cream); }
    .pp-btn--light { color: var(--color-text-inverse); }
    .pp-btn--light:hover { background: var(--color-text-inverse); color: var(--color-brown-dark); }
    .pp-btn:hover { transform: translateY(-2px); }
@media (max-width: 480px) {
  .pp-btn { white-space: normal; text-align: center; max-width: 100%; }
}

    /* Header */
    .pp-header {
      position: fixed; top: 0; left: 0; right: 0; z-index: 500;
      display: flex; align-items: center; justify-content: space-between;
      padding: var(--space-5) var(--space-6);
      background: transparent;
      transition: background var(--anim-dur) var(--anim-ease), padding var(--anim-dur) var(--anim-ease);
      color: var(--color-text-inverse);
    }
    .pp-header.is-scrolled, .pp-header.is-solid {
      background: var(--color-cream);
      color: var(--color-text);
      padding-block: var(--space-3);
      box-shadow: 0 1px 0 var(--color-line);
    }
    .pp-header__nav { display: flex; align-items: center; gap: var(--space-6); list-style: none; margin: 0; padding: 0; }
    .pp-header__nav a {
      color: inherit; text-decoration: none; font-size: 0.74rem;
      letter-spacing: 0.14em; text-transform: uppercase;
      padding-bottom: var(--space-1); border-bottom: 1px solid transparent;
      transition: border-color var(--anim-dur-ui) var(--anim-ease-ui);
    }
    .pp-header__nav a:hover, .pp-header__nav a[aria-current="page"] { border-color: currentColor; }
    .pp-header__logo {
      font-family: var(--font-display);
      font-size: 1.15rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      color: inherit;
      text-align: center;
    }
    .pp-header__logo small { display: block; font-family: var(--font-sans); font-size: 0.6rem; letter-spacing: 0.3em; opacity: 0.75; margin-top: var(--space-1); }
    .pp-header__group { display: flex; align-items: center; gap: var(--space-6); }
    .pp-header__burger {
      display: none; background: none; border: 0; color: inherit; cursor: pointer;
      width: 44px; height: 44px; align-items: center; justify-content: center;
    }
    .pp-header__burger span, .pp-header__burger::before, .pp-header__burger::after { display: none; }
    .pp-header__burger svg { width: 22px; height: 22px; }

    .pp-mobile-menu {
      position: fixed; inset: 0; background: var(--color-brown-dark); color: var(--color-text-inverse);
      z-index: 600; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-5);
      transform: translateY(-100%); transition: transform var(--anim-dur) var(--anim-ease);
    }
    .pp-mobile-menu.is-open { transform: translateY(0); }
    .pp-mobile-menu a { color: inherit; text-decoration: none; font-family: var(--font-display); font-size: 1.5rem; text-transform: uppercase; letter-spacing: 0.08em; }
    .pp-mobile-menu__close { position: absolute; top: var(--space-5); right: var(--space-6); background: none; border: 0; color: inherit; cursor: pointer; width: 44px; height: 44px; }

    .pp-header-mobile {
      display: none;
      position: fixed; top: 0; left: 0; right: 0; width: 100%; box-sizing: border-box; z-index: 500;
      align-items: center; justify-content: flex-start;
      padding: var(--space-4) var(--space-5);
      background: transparent; color: var(--color-text-inverse);
      transition: background var(--anim-dur) var(--anim-ease), padding var(--anim-dur) var(--anim-ease);
    }
    .pp-header-mobile.is-scrolled, .pp-header-mobile.is-solid {
      background: var(--color-cream); color: var(--color-text);
      box-shadow: 0 1px 0 var(--color-line);
    }
    .pp-header-mobile__logo {
      font-family: var(--font-display); font-size: 1.05rem; letter-spacing: 0.16em; text-transform: uppercase;
      text-decoration: none; color: inherit;
    }
    .pp-header-mobile__logo small { display: block; font-family: var(--font-sans); font-size: 0.58rem; letter-spacing: 0.28em; opacity: 0.75; margin-top: var(--space-1); }
    @media (max-width: 1024px) {
      .pp-header { display: none; }
      .pp-header-mobile { display: block; }
      .pp-header__burger {
        display: flex !important;
        position: fixed !important; top: 20px !important; left: calc(100% - 68px) !important; z-index: 700 !important;
      }
    }

    /* Hero full-bleed */
    .pp-hero {
      position: relative; min-height: min(100vh, 960px); display: flex; align-items: center; justify-content: center;
      color: var(--color-text-inverse); text-align: center; overflow: hidden;
    }
    .pp-hero__media { position: absolute; inset: 0; z-index: 0; }
    .pp-hero__media img, .pp-hero__media video { width: 100%; height: 100%; object-fit: cover; }
    .pp-hero__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(56,42,34,0.35) 0%, rgba(56,42,34,0.55) 100%); z-index: 1; }
    .pp-hero__content { position: relative; z-index: 2; padding: var(--space-6); max-width: 760px; }
    .pp-hero__content .pp-eyebrow { color: var(--color-text-inverse); }
    .pp-hero h1 { color: var(--color-text-inverse); }
    .pp-hero__claim { font-size: 0.85rem; letter-spacing: 0.2em; text-transform: uppercase; margin: 0 0 var(--space-6); opacity: 0.9; }
    .pp-hero__actions { display: flex; gap: var(--space-4); justify-content: center; flex-wrap: wrap; margin-top: var(--space-5); }
    .pp-hero__micro { margin-top: var(--space-4); font-size: 0.78rem; opacity: 0.8; }

    /* Hero compatta (non full-bleed) */
    .pp-hero--compact { min-height: 46vh; background: var(--color-cream-2); color: var(--color-text); }
    .pp-hero--compact h1 { color: var(--color-text); }
    .pp-hero--compact .pp-eyebrow { color: var(--color-text); }
    .pp-hero--compact .pp-hero__overlay { display: none; }

    /* Hero split full-height */
    .pp-hero-split { display: grid; grid-template-columns: 1fr 1fr; min-height: min(100vh, 880px); }
    .pp-hero-split__media { position: relative; min-height: 46vh; }
    .pp-hero-split__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
    .pp-hero-split__text { display: flex; flex-direction: column; justify-content: center; padding: var(--space-9) var(--space-8); background: var(--color-cream); }
    .pp-hero-split.is-reverse { direction: rtl; }
    .pp-hero-split.is-reverse > * { direction: ltr; }
    @media (max-width: 900px) {
      .pp-hero-split { grid-template-columns: 1fr; min-height: auto; }
      .pp-hero-split__media { min-height: 52vh; }
      .pp-hero-split__text { padding: var(--space-8) var(--space-5); }
      .pp-hero-split.is-reverse { direction: ltr; }
    }

    /* Marquee */
    .pp-marquee { background: var(--color-brown-dark); color: var(--color-text-inverse); overflow: hidden; padding-block: var(--space-4); white-space: nowrap; }
    .pp-marquee__track { display: inline-flex; animation: pp-marquee-scroll 28s linear infinite; }
    .pp-marquee__group { display: inline-flex; align-items: center; }
    .pp-marquee__item { font-family: var(--font-display); font-size: 1.2rem; letter-spacing: 0.12em; text-transform: uppercase; padding-inline: var(--space-5); }
    @keyframes pp-marquee-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
    @media (prefers-reduced-motion: reduce) { .pp-marquee__track { animation: none; } }

    /* Split immagine/testo full-height */
    .pp-split { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
    .pp-split__media { position: relative; min-height: 640px; }
    .pp-split__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
    .pp-split__text { display: flex; flex-direction: column; justify-content: center; padding: var(--space-9) var(--space-8); background: var(--color-cream); }
    .pp-split.is-reverse { direction: rtl; }
    .pp-split.is-reverse > * { direction: ltr; }
    .pp-split__text .pp-eyebrow { color: var(--color-brown-2); }
    .pp-split__list { list-style: none; margin: 0 0 var(--space-5); padding: 0; }
    .pp-split__list li { border-top: 1px solid var(--color-line); padding-block: var(--space-4); font-family: var(--font-display); font-size: 1.3rem; text-transform: uppercase; letter-spacing: 0.04em; }
    .pp-split__list li:last-child { border-bottom: 1px solid var(--color-line); }
    @media (max-width: 900px) {
      .pp-split { grid-template-columns: 1fr; }
      .pp-split__media { min-height: 62vw; }
      .pp-split__text { padding: var(--space-8) var(--space-5); }
      .pp-split.is-reverse { direction: ltr; }
    }

    /* Fascia citazione */
    .pp-quote { background: var(--color-brown-dark); color: var(--color-text-inverse); text-align: center; }
    .pp-quote__wrap { max-width: 760px; margin-inline: auto; padding-inline: var(--space-6); position: relative; min-width: 0; }
    .pp-quote blockquote { font-family: var(--font-display); font-size: clamp(1.3rem, 1rem + 1.4vw, 2rem); font-style: italic; line-height: var(--lh-heading); margin: 0 0 var(--space-5); max-width: none; }
    .pp-quote__author { font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; opacity: 0.8; }
    .pp-quote__nav { display: flex; justify-content: center; gap: var(--space-6); margin-top: var(--space-6); }
    .pp-quote__nav button { background: none; border: 1px solid var(--color-line-inverse); color: var(--color-text-inverse); width: 44px; height: 44px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background var(--anim-dur-ui) var(--anim-ease-ui); }
    .pp-quote__nav button:hover { background: rgba(246,237,226,0.12); }
    .pp-quote__nav svg { width: 16px; height: 16px; }
    .pp-quote__slide { display: none; }
    .pp-quote__slide.is-active { display: block; }

    /* Teaser editoriale */
    .pp-teaser { text-align: center; }
    .pp-teaser h2 { font-size: clamp(2.5rem, 1.6rem + 4.5vw, 6rem); }
    .pp-teaser .pp-eyebrow { justify-content: center; display: flex; }

    /* Griglia portfolio */
    .pp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2); }
    .pp-grid__item { position: relative; overflow: hidden; aspect-ratio: 3/4; }
    .pp-grid__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms var(--anim-ease); }
    .pp-grid__item:hover img { transform: scale(1.04); }
    @media (max-width: 768px) { .pp-grid { grid-template-columns: repeat(2, 1fr); } }

    /* CTA finale piena */
    .pp-cta-final { background: var(--color-cream-2); text-align: center; } .pp-cta-final .pp-container { display: flex; flex-direction: column; align-items: center; }
    .pp-cta-final h2 { max-width: 700px; margin-inline: auto; }
    .pp-cta-final .pp-eyebrow { display: flex; justify-content: center; }

    /* Numeri */
    .pp-numbers { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); text-align: center; }
    .pp-numbers__item strong { display: block; font-family: var(--font-display); font-size: clamp(2rem, 1.5rem + 2vw, 3.2rem); font-weight: 500; }
    .pp-numbers__item span { font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.7; }
    @media (max-width: 640px) { .pp-numbers { grid-template-columns: 1fr; gap: var(--space-5); } }

    /* Metodo numerato */
    .pp-method { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-6); }
    .pp-method__item { border-top: 1px solid var(--color-line); padding-top: var(--space-5); }
    .pp-method__num { font-family: var(--font-display); font-size: 2rem; display: block; margin-bottom: var(--space-3); opacity: 0.55; }
    @media (max-width: 900px) { .pp-method { grid-template-columns: 1fr 1fr; } }
    @media (max-width: 560px) { .pp-method { grid-template-columns: 1fr; } }

    /* FAQ accordion */
    .pp-faq { max-width: 760px; margin-inline: auto; }
    .pp-faq__item { border-top: 1px solid var(--color-line); }
    .pp-faq__item:last-child { border-bottom: 1px solid var(--color-line); }
    .pp-faq__q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); background: none; border: 0; text-align: left; padding-block: var(--space-5); font-family: var(--font-display); font-size: 1.15rem; color: inherit; cursor: pointer; }
    .pp-faq__icon { position: relative; width: 16px; height: 16px; flex: none; }
    .pp-faq__icon::before, .pp-faq__icon::after { content: ""; position: absolute; background: currentColor; transition: transform var(--anim-dur-ui) var(--anim-ease-ui); }
    .pp-faq__icon::before { left: 0; top: 50%; width: 100%; height: 1px; transform: translateY(-50%); }
    .pp-faq__icon::after { top: 0; left: 50%; height: 100%; width: 1px; transform: translateX(-50%); }
    .pp-faq__item.is-open .pp-faq__icon::after { transform: translateX(-50%) rotate(90deg); opacity: 0; }
    .pp-faq__a { max-height: 0; overflow: hidden; transition: max-height var(--anim-dur) var(--anim-ease); }
    .pp-faq__a p { padding-bottom: var(--space-5); opacity: 0.85; }
    .pp-faq__item.is-open .pp-faq__a { max-height: 400px; }

    /* Form */
    .pp-form { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); max-width: 760px; margin-inline: auto; }
    .pp-form__field { display: flex; flex-direction: column; gap: var(--space-2); }
    .pp-form__field.is-full { grid-column: 1 / -1; }
    .pp-form label { font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.7; }
    .pp-form input, .pp-form select, .pp-form textarea {
      font-family: var(--font-sans); font-size: 0.95rem; padding: var(--space-3) var(--space-3);
      border: 1px solid var(--color-line); background: var(--color-cream); color: var(--color-text);
      border-radius: 0;
    }
    .pp-form textarea { min-height: 120px; resize: vertical; }
    .pp-form__consent { display: flex; align-items: flex-start; gap: var(--space-3); font-size: 0.82rem; }
    .pp-form__consent input { width: 18px; height: 18px; flex: none; margin-top: var(--space-1); }
    @media (max-width: 640px) { .pp-form { grid-template-columns: 1fr; } }

    /* Footer */
    .pp-footer { background: var(--color-brown-dark); color: var(--color-text-inverse); padding-block: var(--space-9) var(--space-6); }
    .pp-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: var(--space-7); }
    .pp-footer h4 { font-family: var(--font-sans); font-size: 0.74rem; letter-spacing: 0.14em; text-transform: uppercase; opacity: 0.7; margin-bottom: var(--space-4); }
    .pp-footer__logo { font-family: var(--font-display); font-size: 1.4rem; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: var(--space-4); }
    .pp-footer p { opacity: 0.85; }
    .pp-footer ul { list-style: none; margin: 0; padding: 0; }
    .pp-footer li { margin-bottom: var(--space-3); }
    .pp-footer a { color: inherit; text-decoration: none; opacity: 0.85; }
    .pp-footer a:hover { opacity: 1; text-decoration: underline; }
    .pp-footer__social { display: flex; gap: var(--space-4); margin-top: var(--space-4); }
    .pp-footer__social a { width: 36px; height: 36px; border: 1px solid var(--color-line-inverse); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
    .pp-footer__social svg { width: 15px; height: 15px; }
    .pp-footer__bottom { margin-top: var(--space-8); padding-top: var(--space-5); border-top: 1px solid var(--color-line-inverse); text-align: center; font-size: 0.76rem; opacity: 0.65; }
    @media (max-width: 900px) { .pp-footer__grid { grid-template-columns: 1fr 1fr; } }
    @media (max-width: 560px) { .pp-footer__grid { grid-template-columns: 1fr; } }

    /* WhatsApp float */
    .whatsapp-float {
      position: fixed; width: 60px; height: 60px; bottom: 20px; right: 20px;
      background-color: #25d366; color: #ffffff; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 4px 12px rgba(0,0,0,0.2); z-index: 1000; text-decoration: none;
      transition: transform var(--anim-dur-ui) var(--anim-ease-ui), background var(--anim-dur-ui) var(--anim-ease-ui);
    }
    .whatsapp-float:hover { background-color: #1ebe5d; transform: translateY(-2px); }
    .whatsapp-float svg { width: 28px; height: 28px; }
    @media (max-width: 768px) { .whatsapp-float { width: 54px; height: 54px; bottom: 16px; right: 16px; } .whatsapp-float svg { width: 24px; height: 24px; } }

    /* Reveal / parallax (scozzese.com style) */
    .reveal{
      opacity: 0;
      transform: translateY(var(--anim-shift));
      transition: opacity var(--anim-dur) var(--anim-ease), transform var(--anim-dur) var(--anim-ease);
      will-change: opacity, transform;
    }
    .reveal--left  { transform: translateX(calc(var(--anim-shift) * -1)); }
    .reveal--right { transform: translateX(var(--anim-shift)); }
    .reveal--scale { transform: scale(0.96); }
    .reveal.is-in{ opacity: 1; transform: none; }
    .reveal[style*="--i"]{ transition-delay: calc(var(--i) * 90ms); }
    .parallax{ will-change: transform; }
    .parallax > .parallax__inner{ transform: translateY(var(--py, 0px)); }
    @media (prefers-reduced-motion: reduce){
      .reveal, .reveal--left, .reveal--right, .reveal--scale{ opacity: 1 !important; transform: none !important; transition: none !important; }
      .parallax > .parallax__inner{ transform: none !important; }
    }
    body.elementor-editor-active .reveal,
    body.elementor-editor-active .reveal--left,
    body.elementor-editor-active .reveal--right,
    body.elementor-editor-active .reveal--scale,
    body.elementor-editor-active [class*="reveal"]{
      opacity: 1 !important; transform: none !important; transition: none !important; animation: none !important; visibility: visible !important;
    }
    body.elementor-editor-active .parallax > .parallax__inner{ transform: none !important; }
    body.elementor-editor-active .elementor-invisible{ opacity: 1 !important; animation: none !important; }

    /* CF7-style form (coerenza runtime) */
    .hfp-form .wpcf7-form-control-wrap { display: block; }
    .hfp-privacy { grid-column: 1 / -1; }

/* --- Video hero (file/YouTube) --- */
.pp-hero-video{width:100%;height:100%;object-fit:cover;display:block}
.pp-hero-video-yt{position:relative;overflow:hidden;width:100%;height:100%}
.pp-hero-video-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none}

/* --- Contact Form 7 --- */
.hfp-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5,24px);max-width:760px;margin-inline:auto}
.hfp-field{min-width:0;display:flex;flex-direction:column;gap:var(--space-2,8px)}
.hfp-field--full{grid-column:1 / -1}
.wpcf7-form-control-wrap{display:block;width:100%}
.hfp-field input,.hfp-field select,.hfp-field textarea{
  width:100%;box-sizing:border-box;font:inherit;color:var(--color-text,#2c221c);
  padding:var(--space-3,12px) var(--space-3,12px);
  background:var(--color-cream,#f3e8db);
  border:1px solid var(--color-line,rgba(56,42,34,.28));
  border-radius:0;
}
.hfp-field textarea{min-height:120px;resize:vertical}
.hfp-field input:focus,.hfp-field select:focus,.hfp-field textarea:focus{outline:none;border-color:var(--color-brown-dark,#382a22)}
.hfp-privacy{grid-column:1/-1;display:flex;align-items:flex-start;gap:var(--space-3,12px);margin:var(--space-4,16px) 0;font-size:.85rem}
.hfp-privacy input[type=checkbox]{appearance:auto;width:18px;height:18px;margin-top:3px;flex:0 0 auto}
.hfp-submit{margin-top:var(--space-4,16px);grid-column:1/-1;text-align:center}
.hfp-submit input[type=submit],.wpcf7-submit{
  cursor:pointer;font-family:var(--font-sans);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;
  padding:var(--space-3,12px) var(--space-6,32px);
  color:var(--color-brown-dark,#382a22);background:transparent;border:1px solid currentColor;
  transition:background .28s ease,color .28s ease;
}
.hfp-submit input[type=submit]:hover,.wpcf7-submit:hover{background:var(--color-brown-dark,#382a22);color:var(--color-cream,#f3e8db)}
.wpcf7-response-output{grid-column:1/-1;margin:var(--space-3,12px) 0 0;padding:var(--space-3,12px) var(--space-4,16px);font-size:.85rem;border:1px solid var(--color-line,rgba(56,42,34,.28))}
.wpcf7-not-valid-tip{color:#a12;font-size:.78rem;margin-top:var(--space-1,4px);display:block}
.wpcf7-form.invalid .wpcf7-response-output{border-color:#f5b5b5;background:#fdecec;color:#a12}
.wpcf7-form.sent .wpcf7-response-output{border-color:#b7e0c0;background:#eef8f1;color:#1a6b34}
@media(max-width:640px){.hfp-grid{grid-template-columns:1fr}}

/* --- Cookie banner minimale --- */
.pp-cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:900;background:var(--color-brown-dark);color:var(--color-text-inverse);padding:var(--space-4) var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}
.pp-cookie-banner a{color:inherit}
.pp-cookie-banner__actions{display:flex;gap:var(--space-3)}
.pp-cookie-banner.is-hidden{display:none}
