/* Radiant Airflows marketing site - base + primitives. All selectors scoped to #radiant-website. */

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

/* Marketing layout body only (class set in layout.blade.php) - final guard
   against horizontal scroll from any stray fixed/absolute element. */
.rw-body { overflow-x: hidden; }

#radiant-website {
    margin: 0;
    font-family: var(--rw-font);
    font-size: 16px;
    line-height: var(--rw-lh);
    color: var(--rw-text);
    background: var(--rw-bg);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

#radiant-website p,
#radiant-website h1,
#radiant-website h2,
#radiant-website h3,
#radiant-website h4,
#radiant-website figure,
#radiant-website blockquote,
#radiant-website ul,
#radiant-website ol {
    margin: 0;
}

#radiant-website h1,
#radiant-website h2,
#radiant-website h3,
#radiant-website h4 {
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.01em;
}

#radiant-website img {
    max-width: 100%;
    height: auto;
    display: block;
}

#radiant-website a {
    color: var(--rw-primary-dark);
    text-decoration: none;
}

#radiant-website a:hover {
    text-decoration: underline;
}

#radiant-website ul {
    list-style: none;
    padding: 0;
}

#radiant-website :focus-visible {
    outline: 2px solid var(--rw-primary-dark);
    outline-offset: 2px;
    border-radius: 4px;
}

#radiant-website [id] {
    scroll-margin-top: calc(var(--rw-header-h) + 16px);
}

/* ---- Layout primitives ---- */

#radiant-website .rw-container {
    width: 100%;
    max-width: var(--rw-maxw);
    margin-inline: auto;
    padding-inline: var(--rw-gutter);
}

#radiant-website .rw-main {
    display: block;
}

#radiant-website .rw-section {
    padding-block: var(--rw-section-y);
}

#radiant-website .rw-section--tint {
    background: var(--rw-bg-alt);
}

#radiant-website .rw-section__title {
    font-size: var(--rw-fs-h2);
    margin-top: var(--rw-space-2);
    max-width: 22ch;
}

#radiant-website .rw-section__intro {
    margin-top: var(--rw-space-3);
    color: var(--rw-text-muted);
    max-width: 62ch;
}

#radiant-website .rw-eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--rw-primary-dark);
}

#radiant-website .rw-grid {
    display: grid;
    gap: var(--rw-space-4);
    margin-top: var(--rw-space-5);
}

#radiant-website .rw-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#radiant-website .rw-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#radiant-website .rw-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 960px) {
    #radiant-website .rw-grid--3,
    #radiant-website .rw-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    #radiant-website .rw-grid--2,
    #radiant-website .rw-grid--3,
    #radiant-website .rw-grid--4 { grid-template-columns: minmax(0, 1fr); }
}

/* ---- Card ---- */

#radiant-website .rw-card {
    background: var(--rw-bg);
    border: 1px solid var(--rw-border);
    border-radius: var(--rw-radius);
    padding: var(--rw-space-4);
    box-shadow: var(--rw-shadow);
}

/* ---- Buttons ---- */

#radiant-website .rw-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 46px;
    padding: 0.7rem 1.4rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.95rem;
    border: 2px solid transparent;
    cursor: pointer;
    transition: transform var(--rw-dur) var(--rw-ease), background var(--rw-dur) var(--rw-ease), color var(--rw-dur) var(--rw-ease);
    text-decoration: none;
}

#radiant-website .rw-btn:hover { text-decoration: none; transform: translateY(-2px); }

#radiant-website .rw-btn--primary {
    background: var(--rw-primary-dark);
    color: var(--rw-ink-invert);
}
#radiant-website .rw-btn--primary:hover { background: var(--rw-primary-darker); color: #fff; }

#radiant-website .rw-btn--secondary {
    background: var(--rw-secondary-dark);
    color: #fff;
}
#radiant-website .rw-btn--secondary:hover { background: #6f8020; color: #fff; }

#radiant-website .rw-btn--ghost {
    background: transparent;
    color: var(--rw-primary-dark);
    border-color: var(--rw-primary-dark);
}
#radiant-website .rw-btn--ghost:hover { background: var(--rw-primary-light); }

/* ---- Inline link with arrow ---- */

#radiant-website .rw-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-weight: 700;
    margin-top: var(--rw-space-3);
}
#radiant-website .rw-link:hover { text-decoration: none; }
#radiant-website .rw-link__icon { width: 1rem; height: 1rem; transition: transform var(--rw-dur) var(--rw-ease); }
#radiant-website .rw-link:hover .rw-link__icon { transform: translateX(3px); }

/* ---- Icons ---- */

#radiant-website .rw-icon {
    width: 1.4rem;
    height: 1.4rem;
    flex: none;
}

/* ---- Tick list ---- */

#radiant-website .rw-tick-list {
    display: grid;
    gap: 0.7rem;
    margin-top: var(--rw-space-3);
}
#radiant-website .rw-tick-list li {
    display: flex;
    gap: 0.6rem;
    align-items: flex-start;
}
#radiant-website .rw-tick-list .rw-icon {
    width: 1.15rem;
    height: 1.15rem;
    color: var(--rw-secondary-dark);
    margin-top: 0.25rem;
}

/* ---- Monogram avatar ---- */

#radiant-website .rw-avatar {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--rw-primary);
    color: #fff;
    font-weight: 700;
    font-size: 0.9rem;
    flex: none;
}
#radiant-website .rw-avatar--lg { width: 76px; height: 76px; font-size: 1.4rem; }

/* ---- Media / placeholder ---- */

#radiant-website .rw-media {
    margin: 0;
    border-radius: var(--rw-radius);
    overflow: hidden;
    background: var(--rw-primary-light);
}
#radiant-website .rw-media img { width: 100%; height: 100%; object-fit: cover; }
#radiant-website .rw-media__placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-content: center;
    gap: 0.3rem;
    text-align: center;
    background:
        linear-gradient(135deg, var(--rw-primary-light), #fff 70%),
        repeating-linear-gradient(45deg, rgba(0, 150, 159, 0.06) 0 12px, transparent 12px 24px);
    color: var(--rw-primary-dark);
}
#radiant-website .rw-media__label { font-weight: 700; }
#radiant-website .rw-media__dims { font-size: 0.8rem; opacity: 0.7; }

/* ---- Alert ---- */

#radiant-website .rw-alert {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: var(--rw-space-3) var(--rw-space-4);
    border-radius: var(--rw-radius-sm);
    margin-top: var(--rw-space-4);
    border: 1px solid transparent;
}
#radiant-website .rw-alert .rw-icon { margin-top: 0.15rem; }
#radiant-website .rw-alert--success { background: var(--rw-secondary-light); border-color: var(--rw-secondary); color: #3f4a12; }
#radiant-website .rw-alert--error { background: #FDECEC; border-color: #E8A2A2; color: #8A1F1F; }
#radiant-website .rw-alert ul { margin: 0.3rem 0 0; padding-left: 1.1rem; list-style: disc; }
#radiant-website .rw-alert a { color: inherit; text-decoration: underline; }

/* ---- Utilities ---- */

#radiant-website .rw-visually-hidden {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

#radiant-website .rw-skip-link {
    position: absolute;
    left: 12px;
    top: -60px;
    z-index: 200;
    background: var(--rw-primary-dark);
    color: #fff;
    padding: 0.6rem 1rem;
    border-radius: 0 0 8px 8px;
    transition: top var(--rw-dur) var(--rw-ease);
}
#radiant-website .rw-skip-link:focus { top: 0; text-decoration: none; }

/* ---- Scroll reveal ---- */

#radiant-website [data-rw-reveal] {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.6s var(--rw-ease), transform 0.6s var(--rw-ease);
}
#radiant-website [data-rw-reveal].rw-is-visible {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    #radiant-website *,
    #radiant-website *::before,
    #radiant-website *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
    #radiant-website [data-rw-reveal] { opacity: 1; transform: none; }
}
