/* Campagna fiera: shared presentation, preserving the existing brand. */
.campaign-page { width:min(1240px,100%); }
.campaign-page p { line-height:1.7; }
.campaign-page h2 { font-size:clamp(1.9rem,3.5vw,3.1rem);line-height:1.12;margin:0 0 18px; }
.campaign-page h3 { font-size:1.65rem;line-height:1.2;margin:12px 0; }
.campaign-page a:not(.btn) { text-underline-offset:5px; }
.campaign-hero { display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(24px,5vw,64px);align-items:center; }
.campaign-hero h1 { font-size:clamp(2.6rem,5vw,4.9rem);line-height:1.06;overflow-wrap:break-word;margin:0; }
.campaign-tagline {font:italic clamp(1.5rem,3vw,2.2rem)/1.3 Georgia,serif;margin:20px 0 0;}
.campaign-prototype { margin:0;border:1px solid #d8ddd5;border-radius:16px;overflow:hidden;background:#e6f0ec; }
.campaign-prototype img {display:block;width:100%;height:auto;max-height:550px;object-fit:contain;}
.campaign-prototype figcaption,.campaign-inside figcaption { padding:12px 16px;font-size:.8rem;line-height:1.5;background:#fffdf8;color:#48534b; }
.campaign-caption {font-size:.86rem;margin-top:20px;}
.campaign-index { display:flex;gap:12px 24px;flex-wrap:wrap;margin:38px 0 0;padding:20px 0;border-block:1px solid #d8ddd5; }
.campaign-index a {font-size:.9rem;font-weight:700;}
.campaign-section { padding:56px 0; }
.campaign-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px; }
.campaign-grid-two {grid-template-columns:repeat(2,minmax(0,1fr));}
.campaign-grid-four {grid-template-columns:repeat(4,minmax(0,1fr));}
.campaign-card {padding:28px;border:1px solid #d8ddd5;border-radius:12px;background:#fffdf8;min-width:0;}
.campaign-card h2 {font-size:1.85rem;}
.campaign-number { font-size:.75rem;letter-spacing:.1em;color:#49634e;font-weight:700;text-transform:uppercase; }
.campaign-card a:not(.btn) {display:inline-block;font-weight:700;margin-top:12px;}
.campaign-card audio {display:block;width:100%;min-width:0;margin-top:10px;}
.campaign-card label {display:block;font-weight:700;margin-top:22px;}
.campaign-video {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:#eaf0e8;}
.campaign-play {font-size:3rem;color:#49634e;}
.campaign-split {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:42px;align-items:center;border-block:1px solid #d8ddd5;}
.campaign-inside {margin:0;border:1px solid #d8ddd5;border-radius:12px;overflow:hidden;}
.campaign-inside img {display:block;width:100%;height:auto;max-height:460px;object-fit:contain;background:#ede9e0;}
.campaign-news,.campaign-follow,.campaign-event,.campaign-join {padding:clamp(24px,4vw,44px);border-radius:14px;background:#eaf0e8;border:1px solid #cbd8cb;margin:30px 0;}
.campaign-event {background:#f0ebdd;border-color:#d9cba9;}
.campaign-join {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;background:#e3eddf;}
.campaign-join h2 {font-size:clamp(1.8rem,3vw,2.6rem);}
.campaign-join p {max-width:700px;}
.campaign-follow {background:#fffdf8;}
.campaign-page [id] {scroll-margin-top:105px;}
.campaign-page .btn {min-height:46px;white-space:normal;text-align:center;}
.campaign-page summary {cursor:pointer;font-weight:700;line-height:1.6;padding:12px 0;}
.site-nav a:last-child {background:#e3eddf;color:#294330;}
@media(max-width:1099px){.site-nav{max-height:calc(100dvh - 100px);overflow-y:auto}.campaign-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-join{grid-template-columns:1fr}.campaign-join>.btn{justify-self:start}}
@media(max-width:700px){.campaign-page{padding:105px 20px 44px}.campaign-hero{grid-template-columns:minmax(0,1fr);gap:28px}.campaign-prototype{max-width:380px;width:100%;margin:auto}.campaign-prototype img{max-height:390px}.campaign-grid,.campaign-grid-two{grid-template-columns:minmax(0,1fr)}.campaign-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-card{padding:22px}.campaign-grid-four .campaign-card{padding:18px}.campaign-grid-four h3{font-size:1.35rem}.campaign-split{grid-template-columns:minmax(0,1fr);gap:26px}.campaign-inside{max-width:380px;margin:auto}.campaign-section{padding:36px 0}.campaign-page .page-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}.campaign-join>.btn{justify-self:stretch}.campaign-index{gap:16px 20px}.campaign-index a{padding-block:5px}.campaign-page h1{font-size:clamp(2.5rem,10vw,3.8rem)}.campaign-page .lead{font-size:1.05rem}.campaign-page [id]{scroll-margin-top:90px}}
@media(max-width:380px){.campaign-grid-four{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.site-nav { max-height:calc(100dvh - 100px); overflow-y:auto; }

.campaign-verb-form {max-width:680px;margin-top:24px;}
.campaign-verb-form label {display:block;font-weight:700;margin-bottom:10px;}
.campaign-verb-fields {display:flex;gap:12px;align-items:stretch;}
.campaign-verb-fields input {flex:1;min-width:0;padding:14px 16px;border:1px solid #b8c5b8;border-radius:5px;background:#fffdf8;color:#253f31;font:inherit;}
.campaign-verb-fields input:focus-visible {outline:2px solid #334b3b;outline-offset:3px;}
#ozx-status.is-error {color:#922f2f;}
@media(max-width:600px){.campaign-verb-fields{flex-direction:column;}.campaign-verb-fields .btn{width:100%;}}
