/* ============================================================
   Lavand Group — custom utilities & polish
   Bleckmann's app.css is purged (only classes they used exist).
   This file restores the utilities we rely on + brand polish.
   Spacing scale matches the template: the number == pixels.
   ============================================================ */

/* ---- Reveal safety: never leave animated content invisible ---- */
.text-fade-in, .title-fade-in, .title-skew-fade-in, .content-fade-in,
.elastic-fade-in, .text-fade-in .line {
    opacity: 1 !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
    padding-top: 0;
}

/* ---- Missing framework utilities we use ---- */
.italic { font-style: italic; }
.text-left { text-align: left; }
.tracking-wide { letter-spacing: .05em; }
.overflow-y-auto { overflow-y: auto; }
.opacity-80 { opacity: .8; }
.hover\:opacity-100:hover { opacity: 1; }
.max-w-sm { max-width: 384px; }
.w-4\/5 { width: 80%; }
.bg-black\/40 { background-color: rgba(0, 0, 0, .4); }
.border-white\/20 { border-color: rgba(255, 255, 255, .2); }

/* small spacing helpers (px scale) */
.mt-6 { margin-top: 6px; }
.mr-6 { margin-right: 6px; }
.mr-8 { margin-right: 8px; }
.mr-10 { margin-right: 10px; }
.ml-14 { margin-left: 14px; }
.ml-15 { margin-left: 15px; }
.px-1 { padding-left: 4px; padding-right: 4px; }

@media (min-width: 768px) {
    .md\:pr-40 { padding-right: 40px; }
    .md\:w-1\/5 { width: 20%; }
    .md\:w-2\/5 { width: 40%; }
    .md\:w-3\/5 { width: 60%; }
}
@media (min-width: 1280px) {
    .xl\:w-4\/6 { width: 66.6667%; }
}

/* ---- Component polish ---- */

/* Logos */
.site-logo img { height: 46px; width: auto; }
.footer-logo img { height: 44px; width: auto; filter: brightness(0) invert(1); }

/* Link cards: consistent gutters + hover lift */
.link-card { padding: 15px; display: block; }
.link-card__inner { transition: box-shadow .25s ease, transform .25s ease; }
.link-card--hover:hover .link-card__inner {
    box-shadow: 0 12px 30px rgba(0, 25, 115, .12);
    transform: translateY(-4px);
}
.link-card__image { aspect-ratio: 3 / 2; }
.link-card__title { display: inline-flex; align-items: center; }

/* Feature bullet lists */
.text-block-with-image ul { margin-top: 15px; list-style: none; padding: 0; }
.text-block-with-image ul li { position: relative; padding-left: 28px; margin-bottom: 14px; line-height: 1.6; }
.text-block-with-image ul li:before {
    content: "\e80a"; /* fontello check */
    font-family: fontello;
    color: #0d42ff;
    position: absolute;
    left: 0;
    top: 1px;
    font-size: 15px;
}

/* FAQ */
.faq-item .faq-q { cursor: pointer; padding: 0; background: none; border: 0; }
.faq-item .faq-answer { display: none; color: #4b5563; }
.faq-item.open .faq-answer { display: block; }
.faq-item .icon-angle-down { transition: transform .25s ease; display: inline-block; }
.faq-item.open .icon-angle-down { transform: rotate(180deg); }

/* Stats */
.stat-number { line-height: 1; }

/* Forms */
.form-with-background input,
.form-with-background textarea {
    font-size: 15px;
    background: #fff;
    color: #111;
}
.form-with-background input:focus,
.form-with-background textarea:focus {
    outline: none;
    border-color: #0d42ff;
    box-shadow: 0 0 0 3px rgba(13, 66, 255, .15);
}

/* Navigation display control (template hides bar < 974px) */
.navbar { display: block !important; }
.main-navigation { display: none; }
#mobile-nav-toggle { display: flex; }
#mobile-nav { display: block; transform: translateX(100%); transition: transform .3s ease; }
#mobile-nav.open { transform: translateX(0); }
.lavand-navmenu-open { overflow: hidden; }
@media (min-width: 975px) {
    .main-navigation { display: flex !important; }
    #mobile-nav-toggle { display: none !important; }
    #mobile-nav { display: none !important; }
}

/* Section rhythm: keep the first section clear of the fixed nav on inner pages */
.inner-page-top { padding-top: 120px; }
