/* ============================================================
   refine.css — site polish layer (additive, palette-safe)
   Loaded last. Uses only existing tokens: --primary, --brand,
   --secondary, --neutral-*. No new colors, no layout rewrites.
   ============================================================ */

/* Consistent text rhythm */
.heading-section .heading-title,
.section-coe .coe-card h6,
h1, h2, h3, h4, h5, h6 {
    text-wrap: balance;
}
p,
.text,
.coe-intro,
.accordion-body {
    text-wrap: pretty;
}

/* Brand selection */
::selection {
    background: rgba(var(--primary-rgb), 0.18);
    color: var(--primary);
}

/* Accessible, on-brand focus ring */
a:focus-visible,
button:focus-visible,
.tf-btn:focus-visible,
.coe-ghost:focus-visible,
input:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 3px;
    border-radius: 6px;
}

/* Anchored sections clear the fixed header when jumped to */
#about, #services, #coe, #pricing, #contact,
.section-card-stack, .section-faqs {
    scroll-margin-top: 96px;
}

/* Smoother shared hover transitions where the theme lifts cards */
.team-item,
.features-item,
.wg-process,
.process-card,
.pricing-item {
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

/* Tidy media so broken/empty image boxes never distort layout */
img {
    max-width: 100%;
    height: auto;
}
