/* =========================================================
   SCOTT PONEMONE DESIGN SYSTEM
   Parent: Brooklyn
   ========================================================= */

:root {
    --sp-blue: #15569F;
    --sp-blue-hover: #1F68B8;
    --sp-blue-dark: #104A89;
    --sp-gray: #97A5AD;
    --sp-ink: #111111;
    --sp-body: #4A4A4A;
    --sp-line: #D7DADD;
    --sp-soft: #F6F8FA;
    --sp-white: #FFFFFF;

    --sp-font-sans: "Poppins", "Helvetica Neue", Arial, sans-serif;
    --sp-font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;

    --sp-radius: 0px;
    --sp-shadow: 0 14px 34px rgba(17, 17, 17, 0.10);
    --sp-content: 1440px;
}

/* ---------------------------------------------------------
   Global typography
   --------------------------------------------------------- */

body.sp-child-theme,
body.sp-child-theme button,
body.sp-child-theme input,
body.sp-child-theme select,
body.sp-child-theme textarea {
    font-family: var(--sp-font-sans) !important;
}

body.sp-child-theme {
    color: var(--sp-body);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.sp-child-theme #ut-sitebody h1,
body.sp-child-theme #ut-sitebody h2,
body.sp-child-theme #ut-sitebody h3,
body.sp-child-theme #ut-sitebody h4,
body.sp-child-theme #ut-sitebody h5,
body.sp-child-theme #ut-sitebody h6 {
    font-family: var(--sp-font-sans) !important;
    color: var(--sp-ink) !important;
    font-style: normal;
    font-weight: 600 !important;
    letter-spacing: -0.025em;
    text-transform: none;
}

body.sp-child-theme #ut-sitebody h1 {
    font-size: clamp(2.5rem, 3.2vw, 4rem) !important;
    line-height: 1.08 !important;
}

body.sp-child-theme #ut-sitebody h2 {
    font-size: clamp(2rem, 2.5vw, 3rem) !important;
    line-height: 1.12 !important;
}

body.sp-child-theme #ut-sitebody h3 {
    font-size: clamp(1.55rem, 1.8vw, 2.15rem) !important;
    line-height: 1.18 !important;
}

body.sp-child-theme #ut-sitebody h4 {
    font-size: clamp(1.25rem, 1.35vw, 1.65rem) !important;
    line-height: 1.25 !important;
}

body.sp-child-theme #ut-sitebody h5 {
    font-size: 1.125rem !important;
    line-height: 1.35 !important;
}

body.sp-child-theme #ut-sitebody h6 {
    font-size: 0.875rem !important;
    line-height: 1.4 !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.sp-child-theme #ut-sitebody p,
body.sp-child-theme #ut-sitebody li,
body.sp-child-theme #ut-sitebody td,
body.sp-child-theme #ut-sitebody th {
    font-family: var(--sp-font-sans) !important;
    font-size: 16px;
    line-height: 1.7;
}

body.sp-child-theme #ut-sitebody a {
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
}

body.sp-child-theme #ut-sitebody hr {
    border: 0;
    border-top: 1px solid var(--sp-line);
}

/* ---------------------------------------------------------
   Reusable visual language from the approved prototypes
   --------------------------------------------------------- */

.sp-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 22px;
    font: 600 12px/1.2 var(--sp-font-sans) !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--sp-blue) !important;
}

.sp-eyebrow::after {
    content: "";
    width: 38px;
    height: 2px;
    background: var(--sp-blue);
}

.sp-display {
    font-family: var(--sp-font-sans) !important;
    font-size: clamp(2.5rem, 3.2vw, 4rem) !important;
    font-weight: 600 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em;
    color: var(--sp-ink) !important;
}

.sp-display-serif {
    font-family: var(--sp-font-serif) !important;
    font-size: clamp(3.5rem, 5vw, 6.4rem) !important;
    font-weight: 600 !important;
    line-height: 0.98 !important;
    letter-spacing: -0.035em;
    color: #0D1B33 !important;
}

.sp-lead {
    font-size: 18px !important;
    line-height: 1.75 !important;
    color: var(--sp-body) !important;
}

.sp-rule {
    height: 1px;
    border: 0;
    background: var(--sp-line);
}

/* ---------------------------------------------------------
   Approved About-page treatment
   --------------------------------------------------------- */

body.sp-page-about #ut-sitebody h1 {
    font-size: clamp(2.6rem, 3.25vw, 4.2rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em;
}

body.sp-page-about #ut-sitebody p {
    color: var(--sp-body);
}

/* The About page contains one principal WPBakery image. This recreates the
   blue corner treatment without baking the lines into the photograph. */
body.sp-page-about .wpb_single_image .vc_single_image-wrapper {
    position: relative;
    display: inline-block;
}

body.sp-page-about .wpb_single_image .vc_single_image-wrapper::before,
body.sp-page-about .wpb_single_image .vc_single_image-wrapper::after {
    content: "";
    position: absolute;
    z-index: 3;
    width: 66px;
    height: 66px;
    pointer-events: none;
}

body.sp-page-about .wpb_single_image .vc_single_image-wrapper::before {
    top: -12px;
    right: -12px;
    border-top: 6px solid var(--sp-blue);
    border-right: 6px solid var(--sp-blue);
}

body.sp-page-about .wpb_single_image .vc_single_image-wrapper::after {
    left: -12px;
    bottom: -12px;
    border-left: 6px solid var(--sp-blue);
    border-bottom: 6px solid var(--sp-blue);
}

/* ---------------------------------------------------------
   Biography treatment
   --------------------------------------------------------- */

body.sp-page-bio #ut-sitebody h1,
body.sp-page-biography #ut-sitebody h1 {
    font-family: var(--sp-font-serif) !important;
    font-size: clamp(3.5rem, 5vw, 6.4rem) !important;
    font-weight: 600 !important;
    line-height: 0.98 !important;
    letter-spacing: -0.035em;
    color: #0D1B33 !important;
}

body.sp-page-bio #ut-sitebody h1 + h2,
body.sp-page-biography #ut-sitebody h1 + h2 {
    font-family: var(--sp-font-serif) !important;
    font-size: clamp(1.55rem, 2vw, 2.15rem) !important;
    font-style: italic !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    color: var(--sp-blue) !important;
}

body.sp-page-bio #ut-sitebody blockquote,
body.sp-page-biography #ut-sitebody blockquote,
.sp-pullquote {
    margin: 28px 0;
    padding: 2px 0 2px 28px;
    border-left: 4px solid var(--sp-blue);
    font-family: var(--sp-font-serif) !important;
    font-size: clamp(1.35rem, 1.6vw, 1.8rem) !important;
    font-style: italic;
    line-height: 1.45;
    color: #18243A;
}

/* Utility for structured biography rows when applied to a WPBakery row. */
.sp-bio-row {
    display: grid;
    grid-template-columns: minmax(150px, 0.32fr) minmax(0, 1fr);
    gap: 24px;
    padding: 16px 0;
    border-bottom: 1px solid var(--sp-line);
}

.sp-bio-label {
    color: var(--sp-blue) !important;
    font: 600 12px/1.4 var(--sp-font-sans) !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* ---------------------------------------------------------
   Remove Brooklyn's unnecessary top header and edit-page control
   --------------------------------------------------------- */

#header-section #ut-top-header {
    display: none !important;
    border-bottom: 0 !important;
}

.edit-link,
.edit-link a,
a.post-edit-link {
    display: none !important;
}

/* Remove accidental large top spacing on the two redesigned content pages
   where Brooklyn's global content offset can otherwise show through. */
body.sp-page-about #main-content,
body.sp-page-bio #main-content,
body.sp-page-biography #main-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.sp-page-about .entry-content > .vc_row:first-child,
body.sp-page-bio .entry-content > .vc_row:first-child,
body.sp-page-biography .entry-content > .vc_row:first-child {
    margin-top: 0 !important;
    padding-top: clamp(36px, 4vw, 68px) !important;
}

/* ---------------------------------------------------------
   Responsive typography / helpers
   --------------------------------------------------------- */

@media (max-width: 767px) {
    body.sp-child-theme #ut-sitebody p,
    body.sp-child-theme #ut-sitebody li,
    body.sp-child-theme #ut-sitebody td,
    body.sp-child-theme #ut-sitebody th {
        font-size: 15px;
        line-height: 1.65;
    }

    .sp-bio-row {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    body.sp-page-about .wpb_single_image .vc_single_image-wrapper::before,
    body.sp-page-about .wpb_single_image .vc_single_image-wrapper::after {
        width: 44px;
        height: 44px;
        border-width: 4px;
    }
}
