:root {
    --tecnocarpi-ink: #091926;
    --tecnocarpi-brand: #172f40;
    --tecnocarpi-gold: #e8bc4c;
    --tecnocarpi-gold-hover: #d4a72f;
    --tecnocarpi-focus: #8c550b;
    --vimm-magenta: var(--tecnocarpi-gold);
    --vimm-magenta-hover: var(--tecnocarpi-gold-hover);
    --vimm-magenta-rgb: 232, 188, 76;
    --vimm-cream: #fbf6e8;
    --vimm-cream-soft: #fdfaf2;
}

a { color: var(--tecnocarpi-brand); }
.vimm-btn--primary,
.vimm-btn--primary:hover,
body .ff-default button[type="submit"],
body .ff-default button[data-action="next"],
body .ff-default button[data-action="prev"],
body .ff-default button[type="submit"]:hover,
body .ff-default button[data-action="next"]:hover,
body .ff-default button[data-action="prev"]:hover { color: var(--tecnocarpi-ink) !important; }
.vimm-card .vimm-card__title-magenta,
.vimm-contact__form-title { color: var(--tecnocarpi-brand); }
.vimm-hero::before { background-size: contain; }

.vimm-header__inner { position: relative; }
.tecnocarpi-header-phone {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    color: var(--tecnocarpi-ink);
    font-size: 18px;
    font-weight: 700;
    white-space: nowrap;
}
.tecnocarpi-header-phone svg { width: 20px; height: 20px; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible { outline: 3px solid var(--tecnocarpi-focus); outline-offset: 4px; }
.vimm-hero a:focus-visible,
.vimm-about a:focus-visible,
.vimm-contact a:focus-visible,
.vimm-footer a:focus-visible { outline-color: var(--tecnocarpi-gold); }

@media (max-width: 860px) {
    .tecnocarpi-header-phone {
        position: static;
        transform: none;
        flex-basis: 100%;
        justify-content: flex-end;
        order: -1;
    }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition: none !important; animation: none !important; }
}
