.page-header {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 1.5rem clamp(1.35rem, 5vw, 4.5rem) clamp(3.5rem, 7vw, 6rem);
    border-bottom: 1px solid var(--accent-soft);
    background: var(--rose-wash);
}

.page-header__breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.7rem;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--ink-soft);
    font-size: 0.78rem;
}

.page-header__background {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.page-header--with-image::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(90deg, #faedf2 0%, rgb(250 237 242 / 96%) 30%, rgb(250 237 242 / 80%) 50%, rgb(250 237 242 / 8%) 75%);
    content: "";
    pointer-events: none;
}

.page-header--with-image .page-header__copy {
    max-width: 36rem;
}

.page-header--with-image .page-header__breadcrumb {
    max-width: 36rem;
}

@media (max-width: 48rem) {
    .page-header--with-image::before {
        background: rgb(250 237 242 / 88%);
    }

    .page-header__background {
        object-position: 65% center;
    }
}

.page-header__breadcrumb li {
    min-width: 0;
    overflow-wrap: anywhere;
}

.page-header__breadcrumb li + li::before {
    margin-right: 0.7rem;
    color: var(--accent);
    content: "/";
}

.page-header__breadcrumb a {
    display: inline-block;
    padding-block: 0.5rem;
    text-underline-offset: 0.25em;
}

.page-header__breadcrumb a:hover {
    color: var(--accent-dark);
}

.page-header__breadcrumb [aria-current] {
    display: inline-block;
    padding-block: 0.5rem;
}

.page-header__copy {
    max-width: 54rem;
    padding-top: clamp(2.5rem, 5vw, 4.5rem);
}

.page-header h1 {
    max-width: 22ch;
    margin: 0;
    color: var(--accent-dark);
    font-size: clamp(2.2rem, 5.4vw, 4.35rem);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 1.12;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.page-header__title-continuation {
    display: block;
    margin-top: 0.55em;
    font-size: 0.55em;
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.3;
    hyphens: auto;
}

.page-header__description {
    max-width: 43rem;
    margin: 1.5rem 0 0;
    color: var(--ink-soft);
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    line-height: 1.7;
}

.page-header__ornament {
    position: absolute;
    z-index: -1;
    right: -10rem;
    bottom: -13rem;
    width: 35rem;
    aspect-ratio: 1;
    pointer-events: none;
}

.page-header__ornament span {
    position: absolute;
    inset: 0;
    border: 1px solid var(--accent-soft);
    border-radius: 50%;
}

.page-header__ornament span:nth-child(2) {
    inset: 3rem;
}

.page-header__ornament span:nth-child(3) {
    inset: 6rem;
}

.placeholder-notice {
    padding: 2rem clamp(1.35rem, 5vw, 4.5rem) 3rem;
}

.placeholder-notice p {
    margin: 0 0 0.5rem;
    color: var(--ink-soft);
}

.trademark-notice {
    max-width: 43rem;
    margin-bottom: 2rem;
}

.trademark-notice h2 {
    margin: 0 0 1rem;
    color: var(--accent-dark);
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    line-height: 1.25;
}

.trademark-notice p + p {
    margin-top: 1rem;
}

@media (max-width: 48rem) {
    .page-header__ornament {
        right: -19rem;
        opacity: 0.6;
    }
}
