/* Wendt Partners public experience layer. Page presentation only. */

:root {
    --experience-ink: #10233f;
    --experience-muted: #5b6b82;
    --experience-surface: #ffffff;
    --experience-soft: #f4f8fc;
    --experience-line: #dbe5ef;
    --experience-accent: #0f7bb5;
    --experience-accent-soft: #e5f4fb;
    --experience-shadow: 0 18px 45px rgba(16, 35, 63, 0.10);
}

html:has(.public-page),
.public-page {
    overflow-x: hidden;
}

.page-apply .section,
.page-privacy .section,
.page-terms .section,
.page-blog .section {
    background: linear-gradient(180deg, #f7fafc 0%, #ffffff 42%);
}

.page-apply .container,
.page-privacy .container,
.page-terms .container,
.page-blog .container {
    max-width: 76rem;
}

.experience-heading {
    max-width: 46rem;
    margin: 0 auto var(--spacing-2xl);
}

.experience-heading h1 {
    color: var(--experience-ink);
    font-size: var(--font-size-4xl);
    line-height: var(--line-height-tight);
    margin-bottom: var(--spacing-sm);
}

.experience-heading p {
    color: var(--experience-muted);
    font-size: var(--font-size-lg);
}

.experience-icon {
    display: inline-grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 2.75rem;
    border-radius: var(--radius-md);
    color: var(--experience-accent);
    background: var(--experience-accent-soft);
}

.hero-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-md);
}

.nav-search {
    flex: 0 1 15rem;
    min-width: 12rem;
}

.nav-search__form {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.nav-search__input {
    min-width: 0;
    width: 100%;
    padding-right: 3rem;
}

.nav-search__btn {
    position: absolute;
    right: 0.25rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-primary);
}

.nav-cta {
    flex: 0 0 auto;
    color: var(--color-white) !important;
    background-color: var(--color-primary) !important;
    border: 1px solid var(--color-primary) !important;
    white-space: nowrap;
}

.nav-cta:hover,
.nav-cta:focus-visible {
    color: var(--color-white) !important;
    background-color: var(--color-primary-hover) !important;
}

.jobs-grid {
    align-items: stretch;
}

.job-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    padding-top: 3.25rem;
}

.job-card__badge {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--spacing-xs);
    max-width: calc(100% - 2rem);
}

.job-card__title {
    overflow-wrap: anywhere;
}

.job-card__meta {
    min-height: 2.75rem;
    align-content: flex-start;
}

.job-card .card__footer {
    align-items: center;
    gap: var(--spacing-md);
    flex-wrap: wrap;
}

.job-card__date {
    min-width: 0;
    flex: 1 1 8rem;
}

.job-card .card__footer .btn {
    flex: 0 0 auto;
}

.page-heading,
.page-blog .section__header,
.home-values,
.logo-marquee__heading {
    text-align: center;
}

.page-heading .section__subtitle {
    margin-right: auto;
    margin-left: auto;
}

.contact-info__icon {
    flex: 0 0 2.5rem;
}

.contact-info__icon i,
.value-card__icon i {
    line-height: 1;
}

.value-card {
    height: 100%;
}

.value-card h3 {
    color: var(--experience-ink);
}

.value-card__icon {
    color: var(--color-primary);
}

.page-about .section__title,
.page-about .section__header {
    text-align: center;
}

.page-about .mission-copy {
    text-align: center;
}

.apply-form {
    max-width: 52rem;
}

.apply-form__summary {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-xl);
    padding: var(--spacing-xl);
    background: linear-gradient(135deg, #eaf7fc 0%, #f8fbff 100%);
    border: 1px solid #c8e7f3;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.apply-form__summary h1 {
    color: var(--experience-ink);
    font-size: var(--font-size-2xl);
    margin: 0 0 var(--spacing-xs);
}

.apply-form__summary p { color: var(--experience-muted); margin: 0; }
.apply-form__summary-label {
    color: var(--experience-accent);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
    margin-bottom: var(--spacing-xs);
}

.apply-form__section {
    margin-bottom: var(--spacing-lg);
    padding: var(--spacing-xl);
    background: var(--experience-surface);
    border: 1px solid var(--experience-line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xs);
}

.apply-form__section-title {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    width: 100%;
    padding-bottom: var(--spacing-md);
    color: var(--experience-ink);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    border-bottom: 1px solid var(--experience-line);
}

.apply-form__section-title::before {
    color: var(--experience-accent);
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}
.apply-form__section:nth-of-type(1) .apply-form__section-title::before { content: "\f2bd"; }
.apply-form__section:nth-of-type(2) .apply-form__section-title::before { content: "\f56f"; }
.apply-form__section:nth-of-type(3) .apply-form__section-title::before { content: "\f21e"; }
.apply-form__section:nth-of-type(4) .apply-form__section-title::before { content: "\f058"; }

.apply-form .form-group { margin-bottom: var(--spacing-md); }
.apply-form .form-input,
.apply-form .form-select,
.apply-form .form-textarea { border-color: #cbd8e5; }
.apply-form .form-check { padding: var(--spacing-md); border: 1px solid var(--experience-line); border-radius: var(--radius-md); background: var(--experience-soft); }
.apply-form .form-check label { flex: 1; color: var(--experience-muted); }
.apply-form .form-check a { font-weight: var(--font-weight-semibold); }

.file-upload { background: var(--experience-soft); border-color: #a9cfe0; }
.file-upload__text::before {
    display: block;
    margin-bottom: var(--spacing-sm);
    color: var(--experience-accent);
    font-family: "Font Awesome 6 Free";
    font-size: var(--font-size-2xl);
    font-weight: 900;
    content: "\f574";
}

.policy-content {
    max-width: 52rem;
    padding: clamp(1.25rem, 4vw, 3.5rem);
    background: var(--experience-surface);
    border: 1px solid var(--experience-line);
    border-radius: var(--radius-lg);
    box-shadow: var(--experience-shadow);
}
.policy-content h1 { color: var(--experience-ink); margin-bottom: var(--spacing-sm); }
.policy-content h1 i { color: var(--experience-accent); margin-right: var(--spacing-sm); }
.policy-content h2 { color: var(--experience-ink); padding-top: var(--spacing-sm); border-top: 1px solid var(--experience-line); }
.policy-content p, .policy-content li { color: var(--experience-muted); }
.policy-content strong { color: var(--experience-ink); }
.policy-updated { display: inline-flex; align-items: center; gap: var(--spacing-sm); padding: var(--spacing-xs) var(--spacing-sm); background: var(--experience-soft); border-radius: var(--radius-full); }
.policy-updated::before { content: "\f017"; color: var(--experience-accent); font-family: "Font Awesome 6 Free"; font-weight: 900; }

.page-blog .section__header { max-width: 48rem; margin-right: auto; margin-left: auto; }
.page-blog .blog-grid { align-items: stretch; }
.page-blog .blog-grid > .card { display: flex; flex-direction: column; min-height: 15rem; border-top: 3px solid var(--experience-accent); }
.page-blog .blog-card__title { color: var(--experience-ink); }
.page-blog .blog-card__meta { margin-top: auto; padding-top: var(--spacing-md); border-top: 1px solid var(--experience-line); }

@media (max-width: 768px) {
    .site-nav.open .nav-search,
    .site-nav.open .nav-cta {
        width: 100%;
        flex-basis: auto;
    }

    .site-nav.open .nav-search__form { width: 100%; }

    .jobs-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .apply-form__summary { padding: var(--spacing-lg); }
    .apply-form__section { padding: var(--spacing-lg); }
    .policy-content { border-radius: var(--radius-md); }

    .job-card .card__footer {
        align-items: stretch;
    }

    .job-card .card__footer .btn {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .jobs-grid { grid-template-columns: 1fr; }
    .hero-actions { align-items: stretch; }
    .hero-actions .btn { width: 100%; }
    .apply-form__summary { flex-direction: column; }
    .apply-form__section-title { font-size: var(--font-size-lg); }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}
