/* Contact Us — Platinum Pharmaceuticals */

.cu-hero-page .about-hero-overlay {
    background:
        linear-gradient(180deg, rgba(6, 18, 48, 0.42) 0%, rgba(6, 18, 48, 0.08) 36%, rgba(6, 18, 48, 0.18) 100%);
}

.cu-hero-sr-only {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.cu-page {
    --cu-navy: #0a1440;
    --cu-deep: #061a5a;
    --cu-blue: #2e3192;
    --cu-red: #ea0029;
    --cu-ink: #14203a;
    --cu-muted: #5b647c;
    --cu-line: rgba(10, 20, 64, 0.12);
    --cu-soft: #f3f5fc;
    color: var(--cu-ink);
    background: #fff;
}

.cu-kicker {
    margin: 0 0 10px;
    color: var(--cu-blue);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.cu-kicker--light {
    color: rgba(223, 227, 247, 0.88);
}

.cu-display {
    margin: 0 0 16px;
    color: var(--cu-navy);
    font-size: clamp(1.75rem, 3.2vw, 2.55rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.cu-display--light {
    color: #fff;
}

.cu-lead,
.cu-copy {
    margin: 0;
    color: var(--cu-muted);
    font-size: 1.05rem;
    line-height: 1.7;
    max-width: 46rem;
}

.cu-copy--light {
    color: rgba(223, 227, 247, 0.92);
}

.cu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 48px;
    padding: 0.85rem 1.4rem;
    border-radius: 8px;
    border: 1px solid transparent;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.cu-btn:hover,
.cu-btn:focus-visible {
    transform: translateY(-1px);
    text-decoration: none;
}

.cu-btn--primary {
    background: var(--cu-red);
    color: #fff;
    border-color: var(--cu-red);
}

.cu-btn--primary:hover,
.cu-btn--primary:focus-visible {
    background: #c40022;
    border-color: #c40022;
    color: #fff;
}

.cu-btn--ghost {
    background: transparent;
    color: var(--cu-navy);
    border-color: rgba(10, 20, 64, 0.22);
}

.cu-btn--ghost:hover,
.cu-btn--ghost:focus-visible {
    border-color: var(--cu-navy);
    color: var(--cu-navy);
}

.cu-btn--outline {
    background: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.55);
}

.cu-btn--outline:hover,
.cu-btn--outline:focus-visible {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.cu-text-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 10px;
    color: var(--cu-red);
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
}

.cu-text-link:hover,
.cu-text-link:focus-visible {
    color: #c40022;
    text-decoration: underline;
}

/* Intro */
.cu-intro {
    padding: clamp(56px, 7vw, 88px) 0 clamp(28px, 4vw, 40px);
}

.cu-intro .cu-lead {
    max-width: 52rem;
}

/* Welcome */
.cu-welcome {
    padding: clamp(28px, 4vw, 48px) 0;
    background:
        linear-gradient(135deg, rgba(243, 245, 252, 0.95), rgba(255, 255, 255, 0.92)),
        radial-gradient(circle at 0% 0%, rgba(46, 49, 146, 0.08), transparent 55%);
    border-top: 1px solid var(--cu-line);
    border-bottom: 1px solid var(--cu-line);
}

.cu-welcome__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
}

.cu-welcome__copy {
    flex: 1 1 340px;
    max-width: 640px;
}

.cu-welcome__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

/* Help pathways */
.cu-help {
    padding: clamp(56px, 7vw, 96px) 0;
}

.cu-help-list {
    margin-top: clamp(28px, 4vw, 40px);
    border-top: 1px solid var(--cu-line);
}

.cu-help-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: clamp(18px, 3vw, 32px);
    padding: clamp(22px, 3vw, 30px) 0;
    border-bottom: 1px solid var(--cu-line);
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.55s ease, transform 0.55s ease;
}

.cu-help-item.is-visible {
    opacity: 1;
    transform: none;
}

.cu-help-item__index {
    color: var(--cu-blue);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding-top: 4px;
}

.cu-help-item__title {
    margin: 0 0 8px;
    color: var(--cu-navy);
    font-size: clamp(1.15rem, 2vw, 1.35rem);
    font-weight: 700;
}

.cu-help-item__text {
    margin: 0;
    color: var(--cu-muted);
    font-size: 1rem;
    line-height: 1.65;
    max-width: 46rem;
}

/* Serene distributions */
.cu-serene {
    padding: clamp(56px, 7vw, 96px) 0;
    background: #ffffff;
}

.cu-serene .cu-display {
    font-family: 'Poppins', var(--primary-font, sans-serif);
    margin-bottom: clamp(22px, 3vw, 32px);
}

.cu-serene-empty {
    margin: 0;
    color: var(--cu-muted);
    font-size: 1rem;
}

.cu-serene-box {
    border: 1px solid var(--cu-line);
    border-radius: 22px;
    background:
        linear-gradient(180deg, #ffffff 0%, #f7f8fc 100%);
    box-shadow: 0 18px 44px rgba(10, 20, 64, 0.06);
    padding: clamp(18px, 2.5vw, 28px);
}

.cu-serene-box__viewport {
    max-height: none;
    overflow: visible;
}

.cu-serene-box.is-expanded .cu-serene-box__viewport {
    max-height: min(62vh, 640px);
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 4px;
    scrollbar-gutter: stable;
}

.cu-serene-box__viewport::-webkit-scrollbar {
    width: 8px;
}

.cu-serene-box__viewport::-webkit-scrollbar-track {
    background: rgba(10, 20, 64, 0.05);
    border-radius: 999px;
}

.cu-serene-box__viewport::-webkit-scrollbar-thumb {
    background: rgba(46, 49, 146, 0.35);
    border-radius: 999px;
}

.cu-serene-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.cu-serene-card {
    margin: 0;
    padding: 18px 16px 16px;
    border: 1px solid var(--cu-line);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(10, 20, 64, 0.04);
    font-family: 'Poppins', var(--primary-font, sans-serif);
}

.cu-serene-card[hidden] {
    display: none !important;
}

.cu-serene-card__location {
    margin: 0 0 12px;
    color: var(--cu-navy);
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.3;
}

.cu-serene-card__meta {
    margin: 0;
}

.cu-serene-card__row {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 8px;
    margin-top: 8px;
}

.cu-serene-card__row dt {
    margin: 0;
    color: var(--cu-muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.cu-serene-card__row dd {
    margin: 0;
    color: var(--cu-ink);
    font-size: 0.92rem;
    line-height: 1.45;
    word-break: break-word;
}

.cu-serene-card__row a {
    color: inherit;
    text-decoration: none;
}

.cu-serene-card__row a:hover,
.cu-serene-card__row a:focus-visible {
    color: var(--cu-blue);
    text-decoration: underline;
}

.cu-serene-box__actions {
    display: flex;
    justify-content: center;
    margin-top: 18px;
}

.cu-serene-more {
    min-width: 160px;
}

@media (max-width: 991.98px) {
    .cu-serene-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .cu-serene-grid {
        grid-template-columns: 1fr;
    }

    .cu-serene-box.is-expanded .cu-serene-box__viewport {
        max-height: min(70vh, 560px);
    }
}

/* Connect: info + form */
.cu-connect {
    padding: clamp(56px, 7vw, 96px) 0;
    background: var(--cu-soft);
}

.cu-connect__grid {
    display: grid;
    grid-template-columns: minmax(260px, 0.9fr) minmax(300px, 1.15fr);
    gap: clamp(28px, 4vw, 56px);
    align-items: start;
}

.cu-info-block {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid var(--cu-line);
}

.cu-info-block:first-of-type {
    margin-top: 28px;
}

.cu-info-block__label {
    margin: 0 0 8px;
    color: var(--cu-blue);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.cu-info-block__text,
.cu-info-block__meta {
    margin: 0;
    color: var(--cu-ink);
    font-size: 1rem;
    line-height: 1.65;
}

.cu-info-block__meta a {
    color: var(--cu-navy);
    font-weight: 600;
    text-decoration: none;
}

.cu-info-block__meta a:hover,
.cu-info-block__meta a:focus-visible {
    color: var(--cu-red);
    text-decoration: underline;
}

.cu-form-panel {
    background: #fff;
    padding: clamp(24px, 3vw, 36px);
    border-radius: 16px;
    box-shadow: 0 18px 48px rgba(10, 20, 64, 0.08);
}

.cu-form-panel__lead {
    margin-bottom: 22px;
}

.cu-form-message {
    margin: 0 0 16px;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 0.92rem;
    line-height: 1.5;
}

.cu-form-message[hidden] {
    display: none !important;
}

.cu-form-message--success {
    background: rgba(16, 185, 129, 0.12);
    border: 1px solid rgba(16, 185, 129, 0.35);
    color: #065f46;
}

.cu-form-message--error {
    background: rgba(234, 0, 41, 0.08);
    border: 1px solid rgba(234, 0, 41, 0.28);
    color: #9f1239;
}

.cu-form-row {
    margin-bottom: 16px;
}

.cu-form-row--split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.cu-label {
    display: block;
    margin-bottom: 6px;
    color: var(--cu-navy);
    font-size: 13px;
    font-weight: 600;
}

.cu-label span[aria-hidden] {
    color: var(--cu-red);
}

.cu-label-optional {
    color: var(--cu-muted) !important;
    font-weight: 500;
}

.cu-input {
    width: 100%;
    border: 1px solid #d8dcf5;
    border-radius: 8px;
    padding: 12px 14px;
    font: inherit;
    font-size: 14px;
    color: var(--cu-ink);
    background: #fff;
    appearance: none;
    -webkit-appearance: none;
}

select.cu-input {
    background-image: linear-gradient(45deg, transparent 50%, #6b7280 50%),
        linear-gradient(135deg, #6b7280 50%, transparent 50%);
    background-position:
        calc(100% - 18px) calc(50% - 3px),
        calc(100% - 12px) calc(50% - 3px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    padding-right: 36px;
}

.cu-input:focus {
    outline: 2px solid rgba(46, 49, 146, 0.25);
    border-color: var(--cu-blue);
}

.cu-input:disabled,
.cu-form-submit:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

.cu-textarea {
    resize: vertical;
    min-height: 120px;
}

.cu-input--file {
    padding: 10px 12px;
}

.cu-file-hint {
    margin: 6px 0 0;
    color: var(--cu-muted);
    font-size: 0.8rem;
}

.cu-form-submit {
    width: 100%;
    margin-top: 8px;
    border: none;
    cursor: pointer;
}

.cu-form-submit.is-loading {
    pointer-events: none;
}

/* Global band */
.cu-global {
    padding: clamp(56px, 7vw, 88px) 0;
    background:
        linear-gradient(115deg, rgba(10, 20, 64, 0.94), rgba(46, 49, 146, 0.88)),
        url('/themes/iori/imgs/contact/hero-connect.png?v=1') center / cover no-repeat;
}

.cu-global__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
}

.cu-global__copy {
    flex: 1 1 360px;
    max-width: 680px;
}

/* Map */
.cu-map {
    padding: clamp(56px, 7vw, 88px) 0;
}

.cu-map__lead {
    margin-bottom: 22px;
}

.cu-map-frame {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    border: 1px solid var(--cu-line);
    background: var(--cu-soft);
    aspect-ratio: 21 / 9;
    min-height: 280px;
}

.cu-map-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Social */
.cu-social {
    padding: 0 0 clamp(56px, 7vw, 88px);
}

.cu-social__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    padding-top: clamp(36px, 5vw, 48px);
    border-top: 1px solid var(--cu-line);
}

.cu-social__copy {
    flex: 1 1 320px;
    max-width: 560px;
}

.cu-social-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cu-social-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 46px;
    padding: 0.65rem 1rem;
    border: 1px solid var(--cu-line);
    border-radius: 999px;
    color: var(--cu-navy);
    font-size: 0.92rem;
    font-weight: 600;
    text-decoration: none;
    background: #fff;
    transition: border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.cu-social-link:hover,
.cu-social-link:focus-visible {
    border-color: var(--cu-blue);
    color: var(--cu-blue);
    transform: translateY(-1px);
    text-decoration: none;
}

.cu-social-link img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

/* Final CTA */
.cu-final {
    padding: clamp(64px, 8vw, 104px) 0;
    background:
        radial-gradient(circle at 18% 20%, rgba(234, 0, 41, 0.18), transparent 42%),
        linear-gradient(160deg, #061238 0%, #0a1440 48%, #1a237e 100%);
    text-align: center;
}

.cu-final__inner {
    max-width: 760px;
    margin: 0 auto;
}

.cu-final .cu-copy {
    margin-left: auto;
    margin-right: auto;
}

.cu-final__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 28px;
}

/* Section reveal */
.cu-page .cu-intro,
.cu-page .cu-welcome,
.cu-page .cu-help,
.cu-page .cu-connect,
.cu-page .cu-global,
.cu-page .cu-map,
.cu-page .cu-social,
.cu-page .cu-final {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.65s ease, transform 0.65s ease;
}

.cu-page .cu-intro.is-visible,
.cu-page .cu-welcome.is-visible,
.cu-page .cu-help.is-visible,
.cu-page .cu-connect.is-visible,
.cu-page .cu-global.is-visible,
.cu-page .cu-map.is-visible,
.cu-page .cu-social.is-visible,
.cu-page .cu-final.is-visible {
    opacity: 1;
    transform: none;
}

@media (max-width: 991px) {
    .cu-connect__grid {
        grid-template-columns: 1fr;
    }

    .cu-map-frame {
        aspect-ratio: 16 / 11;
    }
}

@media (max-width: 640px) {
    .cu-form-row--split {
        grid-template-columns: 1fr;
    }

    .cu-help-item {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .cu-welcome__actions,
    .cu-final__actions {
        width: 100%;
    }

    .cu-welcome__actions .cu-btn,
    .cu-final__actions .cu-btn,
    .cu-global__inner .cu-btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cu-page .cu-intro,
    .cu-page .cu-welcome,
    .cu-page .cu-help,
    .cu-page .cu-serene,
    .cu-page .cu-connect,
    .cu-page .cu-global,
    .cu-page .cu-map,
    .cu-page .cu-social,
    .cu-page .cu-final,
    .cu-help-item,
    .cu-btn,
    .cu-social-link {
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}
