/* Tailwind preflight needed by original CSS, without the Tailwind build chain. */
*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure{margin:0}ul,ol{padding:0;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}img{object-fit:cover}a:focus-visible,button:focus-visible{outline:2px solid var(--brand-2)}
.reveal:not(.in){opacity:0;transform:translateY(30px)}.reveal.in{opacity:1;transform:translateY(0)}.reveal{transition:opacity .75s var(--ease),transform .75s var(--ease);transition-delay:var(--d,0ms)}.reveal.scale:not(.in){transform:scale(.94)}
.hero .hero-content{position:relative;z-index:2}.hero .hero-grid{pointer-events:none}.page-loader.done{opacity:0;visibility:hidden;pointer-events:none}.mobile-menu:not(.open){pointer-events:none}
.form-message{margin-top:14px;min-height:28px}.form-message.ok{color:#28c36a}.form-message.error{color:#ff5a65}.wizard-panel[hidden]{display:none}.work-item[hidden]{display:none}.testi-slide:not(.active){display:none}.lightbox[hidden]{display:none}.lb-figure img{max-height:70vh;object-fit:contain;width:100%;margin:auto}
.admin-alert{background:#173627;color:#d9ffe7;padding:15px;border-radius:12px}.admin-error{background:#441820;color:#ffd6d9;padding:15px;border-radius:12px}
@media(prefers-reduced-motion:reduce){.reveal:not(.in){opacity:1;transform:none}.reveal{transition:none!important}*{scroll-behavior:auto!important}}

@media(max-width:700px){.admin-body .admin-grid{grid-template-columns:1fr}.page-hero .container{padding-inline:20px}.article .lead-img img{width:100%}}

/* v2: Newsletter field and message occupy separate rows (no flex shrink). */
.footer-newsletter{min-width:0}.footer-newsletter .newsletter{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:start;width:100%}
.newsletter-field{display:flex;align-items:stretch;gap:9px;min-width:0}.newsletter-field .input{min-width:0;flex:1 1 0;width:100%;height:48px;padding-inline:15px}.newsletter-field .btn{flex:0 0 auto;min-height:48px;white-space:nowrap;border-radius:999px}.footer-newsletter .form-message{display:block;min-height:0;margin:2px 0 0;overflow-wrap:anywhere;font-size:.84rem;line-height:1.7;grid-column:1/-1}.footer-newsletter .form-message:empty{display:none}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:480px){.newsletter-field{flex-wrap:wrap}.newsletter-field .input{flex-basis:100%}.newsletter-field .btn{width:100%;justify-content:center}}
