* {
    box-sizing: border-box;
}

html {
    min-width: 320px;
}

body {
    background: #fff;
    color: var(--phbs-ink);
    font-family: var(--phbs-font);
    margin: 0;
    min-height: 100vh;
    min-height: 100dvh;
    -webkit-font-smoothing: antialiased;
}

button,
input {
    font: inherit;
}

a,
button {
    -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid rgba(49, 104, 165, 0.34);
    outline-offset: 3px;
}

.phbs-container {
    margin: 0 auto;
    max-width: 1320px;
    padding-inline: clamp(1.1rem, 4vw, 3rem);
    width: 100%;
}

.phbs-brand {
    align-items: center;
    color: inherit;
    display: inline-flex;
    gap: 0.8rem;
    text-decoration: none;
}

.phbs-brand:hover {
    color: inherit;
}

.phbs-brand__mark {
    display: grid;
    flex: 0 0 auto;
    height: 44px;
    place-items: center;
    width: 44px;
}

.phbs-brand__mark svg {
    fill: none;
    height: 100%;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.65;
    width: 100%;
}

.phbs-brand__text {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.phbs-brand__text strong {
    font-size: 1rem;
    font-weight: 700;
}

.phbs-brand__text small {
    font-size: 0.65rem;
    letter-spacing: 0.11em;
    margin-top: 0.3rem;
    opacity: 0.66;
    text-transform: uppercase;
}

.phbs-eyebrow {
    color: var(--phbs-wine);
    display: inline-block;
    font-size: 0.69rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.phbs-eyebrow--light {
    color: #f0c3ce;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
