/* ============================================================================
   Landing Parceria — cores alinhadas ao [Lovable](https://v2lpimobiliarias.lovable.app)
   Tokens extraídos de :root em assets/index-CQmrXo2Y.css (shadcn + tema Aticca).
   Fonte: Manrope (como no bundle).
   ============================================================================ */

:root {
    /* Tokens espelhados do :root light do Lovable (shadcn) */
    --parc-fg: hsl(216 16% 12%);
    --parc-bg-page: hsl(0 0% 94%);
    --parc-card: hsl(0 0% 100%);
    --parc-muted: hsl(216 8% 38%);
    --parc-border: hsl(0 0% 84%);
    --parc-secondary: hsl(0 0% 90%);
    --parc-accent: hsl(64 90% 42%);
    --parc-highlight: hsl(64 90% 50%);
    --parc-accent-hover: hsl(64 90% 36%);
    --parc-on-accent: hsl(216 16% 12%);
    --parc-ink-a: hsl(216 16% 12%);
    --parc-ink-b: hsl(216 18% 9%);
    --parc-gradient-ink: linear-gradient(180deg, var(--parc-ink-a), var(--parc-ink-b));
    --parc-gradient-warm: linear-gradient(180deg, hsl(0 0% 96%), hsl(0 0% 92%));
    --parc-topbar-bg: #1a1f26;
    --parc-topbar-fg: hsl(0 0% 94%);
    --parc-on-dark: hsl(0 0% 94%);
    --parc-on-dark-muted: hsl(0 0% 94% / 0.72);
    --parc-on-dark-subtle: hsl(0 0% 94% / 0.55);
    --parc-footer-link: hsl(0 0% 94% / 0.72);
    --parc-shadow-soft: 0 14px 50px -20px hsl(216 16% 12% / 0.25);
    --parc-shadow-card: 0 4px 24px -10px hsl(216 16% 12% / 0.1);
    --parc-radius: 0.5rem;
    --parc-radius-sm: calc(0.5rem - 4px);
    --parc-radius-lg: 16px;
}

*, *::before, *::after { box-sizing: border-box; }

html, body {
    margin: 0;
    padding: 0;
    background-color: var(--parc-bg-page);
    color: var(--parc-fg);
    font-family: 'Manrope', ui-sans-serif, system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: "ss01", "cv11";
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.parc-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

/* === Tipografia / utilitários ============================================ */

.parc-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}
.parc-eyebrow__rule {
    display: inline-block;
    width: 28px;
    height: 2px;
    background: var(--parc-accent);
}
.parc-eyebrow__label {
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--parc-fg);
    opacity: 0.7;
}
.parc-eyebrow--light .parc-eyebrow__rule { background: var(--parc-highlight); }
.parc-eyebrow--light .parc-eyebrow__label { color: var(--parc-on-dark-muted); opacity: 1; }

/* Destaque de texto = .marker no Lovable (linear-gradient 120deg + highlight) */
.parc-marker {
    background-image: linear-gradient(120deg, var(--parc-highlight), var(--parc-highlight));
    color: var(--parc-on-accent);
    font-weight: 500;
    padding: 0 0.12em;
    white-space: nowrap;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.parc-section-head { max-width: 760px; margin-bottom: 56px; }
.parc-section-title {
    font-size: clamp(1.85rem, 3.5vw, 2.6rem);
    font-weight: 800;
    margin: 0 0 14px;
    line-height: 1.1;
    letter-spacing: -0.01em;
}
.parc-section-sub { color: var(--parc-muted); margin: 0; font-size: 1.05rem; }

/* === Marca: logo PNG do Lovable + badge 527
   Asset: https://v2lpimobiliarias.lovable.app/assets/logo-aticca-BBSn_R7p.png
   (cópia local: static/app/img/parceria/logo-aticca.png — texto branco em fundo preto) === */

.parc-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    flex-shrink: 0;
}
.parc-brand__logo {
    height: 32px;
    width: auto;
    display: block;
}
/* Header claro: inverte para “aticca” escuro em fundo claro */
.parc-brand__logo--header {
    filter: invert(1);
}
/* Rodapé escuro: mantém marca clara sobre o retângulo preto do PNG */
.parc-brand__logo--footer {
    filter: none;
    opacity: 0.98;
}
.parc-brand__badge {
    background: var(--parc-highlight);
    color: #000;
    padding: 5px 11px;
    border-radius: 6px;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.02em;
}
.parc-brand--footer {
    margin-bottom: 18px;
}
.parc-brand--footer .parc-brand__badge--footer {
    background: var(--parc-highlight);
    color: #000;
}
.parc-footer__brand .parc-brand--footer { align-items: center; }

.parc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 24px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1;
    letter-spacing: 0.01em;
    transition: transform 140ms ease, box-shadow 140ms ease, background 140ms ease, color 140ms ease;
    cursor: pointer;
    border: 2px solid transparent;
    text-decoration: none;
    white-space: nowrap;
}
.parc-btn:hover { transform: translateY(-1px); }
.parc-btn--primary {
    background: var(--parc-accent);
    color: var(--parc-on-accent);
    box-shadow: 0 8px 22px hsl(64 90% 50% / 0.35);
}
.parc-btn--primary:hover {
    background: var(--parc-accent-hover);
    box-shadow: 0 12px 28px hsl(64 90% 50% / 0.45);
}
.parc-btn--outline {
    background: transparent;
    color: var(--parc-fg);
    border-color: hsl(216 16% 12% / 0.22);
}
.parc-btn--outline:hover {
    background: var(--parc-fg);
    color: var(--parc-topbar-fg);
    border-color: var(--parc-fg);
}
.parc-btn--block { width: 100%; padding: 16px 24px; }

/* === Header / Topbar ===================================================== */

.parc-header {
    position: sticky;
    top: 0;
    z-index: 50;
}

.parc-topbar {
    background: var(--parc-topbar-bg);
    color: var(--parc-topbar-fg);
    font-size: 0.8rem;
    letter-spacing: 0.02em;
}
.parc-topbar__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 9px 0;
    gap: 16px;
}
.parc-topbar__long { display: inline; opacity: 0.85; }
.parc-topbar__short { display: none; opacity: 0.85; }
.parc-topbar__right { opacity: 0.65; }
@media (max-width: 720px) {
    .parc-topbar__long { display: none; }
    .parc-topbar__short { display: inline; }
    .parc-topbar__right { display: none; }
}

.parc-header__body {
    background: hsl(0 0% 100% / 0.88);
    backdrop-filter: saturate(140%) blur(12px);
    -webkit-backdrop-filter: saturate(140%) blur(12px);
    border-bottom: 1px solid var(--parc-border);
}
.parc-header__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 14px 0;
}

.parc-nav { display: flex; gap: 32px; }
.parc-nav__link {
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--parc-muted);
    transition: color 120ms ease, opacity 120ms ease;
}
.parc-nav__link:hover { color: var(--parc-fg); opacity: 1; }

.parc-header__cta { padding: 12px 20px; font-size: 0.9rem; }

.parc-burger {
    display: none;
    background: transparent;
    border: 0;
    font-size: 1.4rem;
    cursor: pointer;
    color: var(--parc-fg);
    padding: 8px;
}
.parc-mobile-nav {
    padding: 18px 0;
    border-top: 1px solid var(--parc-border);
    background: var(--parc-card);
}
.parc-mobile-nav .parc-container {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.parc-mobile-nav__link {
    font-weight: 600;
    color: var(--parc-fg);
}

@media (max-width: 880px) {
    .parc-nav, .parc-header__cta { display: none; }
    .parc-burger { display: inline-flex; }
}

/* === Hero ================================================================ */

.parc-hero { padding: 72px 0 96px; background: var(--parc-gradient-warm); position: relative; overflow: hidden; }
.parc-hero::before {
    content: '';
    position: absolute;
    top: -180px;
    right: -120px;
    width: 520px;
    height: 520px;
    background: radial-gradient(closest-side, hsl(64 90% 50% / 0.18), transparent 70%);
    z-index: 0;
    pointer-events: none;
}
.parc-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 72px;
    align-items: center;
}
.parc-hero__title {
    font-size: clamp(2.1rem, 4.5vw, 3.5rem);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -0.015em;
    margin: 0 0 22px;
}
.parc-hero__paragraph {
    font-size: 1.12rem;
    color: var(--parc-muted);
    margin: 0 0 32px;
    max-width: 56ch;
}
.parc-hero__ctas {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 44px;
}
.parc-hero__proofs { margin-top: 28px; }
.parc-hero__proofs + .parc-hero__proofs { margin-top: 22px; }
.parc-hero__proofs-label {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--parc-fg);
    opacity: 0.55;
    margin-bottom: 14px;
}
.parc-hero__proofs-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.parc-hero__proof {
    background: var(--parc-card);
    border-radius: var(--parc-radius-sm);
    border: 1px solid var(--parc-border);
    padding: 16px 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    transition: transform 160ms ease, box-shadow 160ms ease;
}
.parc-hero__proof:hover {
    transform: translateY(-2px);
    box-shadow: var(--parc-shadow-card);
}
.parc-hero__proof-icon {
    color: var(--parc-fg);
    font-size: 1.05rem;
    margin-bottom: 6px;
}
.parc-hero__proof strong {
    font-size: 0.98rem;
    font-weight: 800;
    color: var(--parc-fg);
    line-height: 1.25;
}
.parc-hero__proof span {
    font-size: 0.84rem;
    color: var(--parc-muted);
    line-height: 1.4;
}

.parc-hero__media { position: relative; }
.parc-hero__media-frame {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: var(--parc-shadow-soft);
    aspect-ratio: 4 / 5;
}
.parc-hero__media-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.parc-hero__media-glow {
    position: absolute;
    inset: auto -40% -45% -25%;
    height: 60%;
    background: radial-gradient(ellipse at top, hsl(64 90% 50% / 0.45), transparent 70%);
    filter: blur(20px);
    z-index: -1;
}
.parc-hero__card {
    position: absolute;
    left: -22px;
    bottom: -26px;
    background: var(--parc-card);
    padding: 18px 22px;
    border-radius: 14px;
    box-shadow: var(--parc-shadow-card);
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 200px;
    border: 1px solid var(--parc-border);
}
.parc-hero__card-label {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--parc-muted);
    font-weight: 700;
}
.parc-hero__card-text {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--parc-fg);
}

@media (max-width: 980px) {
    .parc-hero__grid { grid-template-columns: 1fr; gap: 56px; }
    .parc-hero__proofs-list { grid-template-columns: 1fr 1fr; }
    .parc-hero__card { left: 16px; bottom: -20px; }
}
@media (max-width: 540px) {
    .parc-hero { padding: 56px 0 72px; }
    .parc-hero__proofs-list { grid-template-columns: 1fr; }
}

/* === Simulador =========================================================== */

.parc-sim {
    padding: 112px 0;
    background: var(--parc-gradient-ink);
    color: var(--parc-on-dark);
    position: relative;
    overflow: hidden;
}
.parc-sim::before {
    content: '';
    position: absolute;
    top: -150px;
    left: -120px;
    width: 480px;
    height: 480px;
    background: radial-gradient(closest-side, hsl(64 90% 50% / 0.18), transparent 70%);
    pointer-events: none;
}
.parc-sim__grid {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}
.parc-sim__title {
    font-size: clamp(1.9rem, 3.4vw, 2.6rem);
    font-weight: 800;
    margin: 0 0 18px;
    line-height: 1.08;
    letter-spacing: -0.01em;
    color: var(--parc-on-dark);
}
.parc-sim__paragraph { color: var(--parc-on-dark-muted); margin: 0; font-size: 1.05rem; }
.parc-sim__panel {
    background: hsl(0 0% 100% / 0.06);
    padding: 36px;
    border-radius: 20px;
    border: 1px solid hsl(0 0% 100% / 0.10);
    backdrop-filter: blur(8px);
}

.parc-slider { margin-bottom: 28px; }
.parc-slider__head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 12px;
}
.parc-slider__head label {
    font-size: 0.88rem;
    color: var(--parc-on-dark-muted);
    font-weight: 500;
}
.parc-slider__value {
    font-weight: 800;
    font-size: 1.05rem;
    color: var(--parc-highlight);
    white-space: nowrap;
}
.parc-slider input[type=range] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    background: hsl(0 0% 100% / 0.12);
    border-radius: 4px;
    outline: none;
    cursor: pointer;
    transition: background 120ms ease;
}
.parc-slider input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    background: var(--parc-accent);
    border-radius: 50%;
    cursor: pointer;
    border: 3px solid var(--parc-card);
    box-shadow: 0 4px 12px hsl(64 90% 50% / 0.45);
    transition: transform 120ms ease;
}
.parc-slider input[type=range]::-webkit-slider-thumb:hover { transform: scale(1.1); }
.parc-slider input[type=range]::-moz-range-thumb {
    width: 22px;
    height: 22px;
    background: var(--parc-accent);
    border-radius: 50%;
    cursor: pointer;
    border: 3px solid var(--parc-card);
    box-shadow: 0 4px 12px hsl(64 90% 50% / 0.45);
}

.parc-sim__result {
    background: hsl(64 90% 50% / 0.12);
    border: 1px solid hsl(64 90% 50% / 0.35);
    border-radius: 14px;
    padding: 24px;
    margin: 8px 0 28px;
    text-align: center;
}
.parc-sim__result-label {
    display: block;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--parc-on-dark-subtle);
    margin-bottom: 8px;
}
.parc-sim__result-value {
    display: block;
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    font-weight: 800;
    color: var(--parc-highlight);
    letter-spacing: -0.01em;
}

@media (max-width: 880px) {
    .parc-sim { padding: 88px 0; }
    .parc-sim__grid { grid-template-columns: 1fr; gap: 40px; }
    .parc-sim__panel { padding: 26px; }
}

/* === Como funciona (espelha Lovable: fundo página cinza, cards brancos, números em --accent) === */

.parc-how {
    padding: 96px 0 112px;
    /* bg-background no Lovable — não branco; cards são bg-card por cima */
    background: var(--parc-bg-page);
}
.parc-how__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}
.parc-how__item {
    list-style: none;
    margin: 0;
    /* bg-card: branco, como no Lovable (não secondary/cinza no fundo claro) */
    background: var(--parc-card);
    border: 1px solid var(--parc-border);
    border-radius: 14px;
    padding: 28px 22px 26px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 0;
    min-width: 0;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}
.parc-how__item:hover {
    transform: translateY(-3px);
    box-shadow: var(--parc-shadow-card);
    border-color: hsl(64 90% 42% / 0.35);
}
/* Número: text-accent no Lovable (64 90% 42%) — mais legível que highlight 50% em fundo claro */
.parc-how__num {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 2.35rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--parc-accent);
}
.parc-how__rule {
    display: block;
    width: 40px;
    height: 2px;
    margin: 12px 0 18px;
    padding: 0;
    border: 0;
    border-radius: 1px;
    background: var(--parc-accent);
    flex-shrink: 0;
}
.parc-how__item h3 {
    margin: 0 0 10px;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.25;
    color: var(--parc-fg);
}
.parc-how__item p {
    margin: 0;
    font-size: 0.94rem;
    line-height: 1.55;
    color: var(--parc-muted);
}
@media (max-width: 980px) {
    .parc-how__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 540px) {
    .parc-how {
        padding: 72px 0 88px;
    }
    .parc-how__list {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .parc-how__num {
        font-size: 2.1rem;
    }
}

/* === Contato ============================================================= */

.parc-contact { padding: 112px 0; background: var(--parc-bg-page); }
.parc-contact__grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 72px;
    align-items: start;
}
.parc-contact__title {
    font-size: clamp(1.9rem, 3.4vw, 2.6rem);
    font-weight: 800;
    margin: 0 0 18px;
    line-height: 1.08;
    letter-spacing: -0.01em;
}
.parc-contact__paragraph {
    color: var(--parc-muted);
    margin: 0 0 28px;
    font-size: 1.05rem;
}
.parc-contact__bullets {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.parc-contact__bullets li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: var(--parc-fg);
    font-weight: 500;
}
.parc-contact__bullets li i {
    color: var(--parc-fg);
    margin-top: 5px;
    font-size: 0.75rem;
    line-height: 1;
    flex-shrink: 0;
}

.parc-contact__form {
    background: var(--parc-card);
    padding: 36px;
    border-radius: 20px;
    box-shadow: var(--parc-shadow-card);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    border: 1px solid var(--parc-border);
}
.parc-field { display: flex; flex-direction: column; gap: 6px; }
.parc-field--full { grid-column: 1 / -1; }
.parc-field label {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--parc-fg);
    letter-spacing: 0.01em;
}
.parc-field input,
.parc-field select,
.parc-field textarea {
    border: 1px solid var(--parc-border);
    border-radius: 10px;
    padding: 12px 14px;
    font: inherit;
    color: var(--parc-fg);
    background: var(--parc-card);
    transition: border-color 120ms ease, box-shadow 120ms ease;
}
.parc-field input:focus,
.parc-field select:focus,
.parc-field textarea:focus {
    outline: none;
    border-color: var(--parc-accent);
    box-shadow: 0 0 0 3px hsl(64 90% 50% / 0.18);
}
.parc-field input:invalid:not(:placeholder-shown):not(:focus),
.parc-field select:invalid:not(:focus),
.parc-field textarea:invalid:not(:placeholder-shown):not(:focus) {
    border-color: hsl(0 72% 45%);
}
.parc-field input::placeholder,
.parc-field textarea::placeholder {
    color: hsl(216 8% 38% / 0.55);
}
.parc-contact__form .parc-btn { grid-column: 1 / -1; }
.parc-form__legal {
    grid-column: 1 / -1;
    margin: -4px 0 0;
    font-size: 0.78rem;
    color: var(--parc-muted);
    text-align: center;
}
.parc-form__feedback {
    grid-column: 1 / -1;
    padding: 12px 16px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 0.92rem;
}
.parc-form__feedback--success {
    background: hsl(64 90% 50% / 0.15);
    color: var(--parc-fg);
    border: 1px solid var(--parc-accent);
}
.parc-form__feedback--error {
    background: rgba(220, 38, 38, 0.1);
    color: #B91C1C;
    border: 1px solid rgba(220, 38, 38, 0.3);
}

@media (max-width: 880px) {
    .parc-contact { padding: 88px 0; }
    .parc-contact__grid { grid-template-columns: 1fr; gap: 40px; }
    .parc-contact__form { grid-template-columns: 1fr; padding: 26px; }
}

/* === Footer ============================================================== */

.parc-footer {
    background: var(--parc-ink-b);
    color: hsl(0 0% 94% / 0.8);
    padding: 72px 0 28px;
}
.parc-footer__grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1.2fr 0.8fr;
    gap: 48px;
}
.parc-footer__desc {
    font-size: 0.96rem;
    max-width: 38ch;
    opacity: 0.7;
    margin: 0 0 16px;
    line-height: 1.55;
}
.parc-footer__group {
    font-size: 0.85rem;
    opacity: 0.55;
    margin: 0;
}
.parc-footer__col h4 {
    color: var(--parc-on-dark);
    margin: 0 0 16px;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}
.parc-footer__col ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.parc-footer__col a {
    color: var(--parc-footer-link);
    transition: color 120ms ease;
    font-size: 0.92rem;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.parc-footer__col a:hover { color: var(--parc-accent); }
.parc-footer__col i { color: var(--parc-accent); width: 16px; text-align: center; }
.parc-footer__address {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.92rem;
    color: var(--parc-footer-link);
    line-height: 1.5;
}
.parc-footer__address i { color: var(--parc-accent); margin-top: 4px; flex-shrink: 0; }

.parc-footer__socials ul {
    flex-direction: row;
    gap: 12px;
    flex-wrap: wrap;
}
.parc-footer__socials a {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: hsl(0 0% 100% / 0.08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--parc-on-dark);
    font-size: 1.05rem;
    transition: background 140ms ease, color 140ms ease, transform 140ms ease;
}
.parc-footer__socials a:hover {
    background: var(--parc-accent);
    color: var(--parc-fg);
    transform: translateY(-2px);
}

.parc-footer__bottom {
    border-top: 1px solid hsl(0 0% 100% / 0.08);
    margin-top: 56px;
    padding-top: 24px;
    font-size: 0.82rem;
    opacity: 0.65;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.parc-footer__copyright { margin: 0; }
.parc-footer__legal { margin: 0; display: inline-flex; gap: 10px; align-items: center; }
.parc-footer__legal a { color: inherit; transition: color 120ms ease; }
.parc-footer__legal a:hover { color: var(--parc-accent); }
.parc-footer__sep { opacity: 0.5; }

@media (max-width: 980px) {
    .parc-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 540px) {
    .parc-footer__grid { grid-template-columns: 1fr; }
    .parc-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* === Reveal on scroll ==================================================== */

.reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 540ms ease, transform 540ms ease;
}
.reveal.is-visible { opacity: 1; transform: none; }
