/*
    CSS file for Holistic Home Zone
*/

@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/inter-latin-ext-italic.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/inter-latin-italic.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/inter-latin-ext-italic.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/inter-latin-italic.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/inter-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/inter-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/inter-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/inter-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/inter-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/inter-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/inter-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/inter-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Lexend";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/lexend-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Lexend";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/lexend-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Lexend";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/lexend-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Lexend";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/lexend-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Lexend";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/lexend-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Lexend";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/lexend-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Lexend";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/lexend-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Lexend";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/lexend-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/manrope-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/manrope-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/manrope-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/manrope-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/manrope-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/manrope-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/manrope-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/manrope-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url("../fonts/manrope-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url("../fonts/manrope-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Newsreader";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/newsreader-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Newsreader";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/newsreader-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Newsreader";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/newsreader-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Newsreader";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/newsreader-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Newsreader Fallback";
    src: local("Georgia");
    size-adjust: 94.85%;
}

@font-face {
    font-family: "Inter Fallback";
    src: local("Arial");
    size-adjust: 106.4%;
}


/*  Base
-------------------------------------------*/

    /*
     *  Tokens
     */
:root {
    --ff-body: "Inter", "Inter Fallback", ui-sans-serif, system-ui, -apple-system, sans-serif;
    --color-ink: var(--anchor-deep);
    --color-text: #4A4541;
    --color-muted: #6E6862;
    --color-stone: var(--surface-1);
    --color-paper: var(--surface-0);
    --color-white: #FFFDF9;
    --color-line: rgba(31,30,28,.12);
    --color-line-strong: rgba(31,30,28,.26);
    --color-on-dark: var(--bg);
    --color-on-dark-2: rgba(245,241,232,.8);
    --color-on-dark-3: rgba(245,241,232,.62);
    --color-blue-light: #9DB4D3;
    --ff-mono: var(--ff-body);
    --r-sm: 10px;
    --r-md: 14px;
    --r-lg: 20px;
    --r-xl: 28px;
    --v2-r-card: 24px;
    --v2-r-panel: 32px;
    --v2-r-btn: 7px;
    --shadow-sm: none;
    --shadow-md: none;
    --shadow-lg: none;
    --v2-container: 1320px;
    --v2-col: 110px;
    --v2-gutter: clamp(20px, 5vw, 64px);
    --v2-section: clamp(56px, 5.5vw, 88px);
    --v2-pad-panel: clamp(32px, 4.5vw, 72px);
    --max-w: calc(var(--v2-container) + 2 * var(--v2-gutter));
    --v2-h1: clamp(2.6rem, 1.6rem + 3.2vw, 4.5rem);
    --v2-h2: clamp(2.1rem, 1.45rem + 2vw, 3.4rem);
    --v2-h3: clamp(1.35rem, 1.2rem + .5vw, 1.75rem);
    --v2-lead: clamp(1.12rem, 1.04rem + .3vw, 1.32rem);
    --v2-body: 1.125rem;
    --color-cream-40: rgba(245,241,232,.4);
    --color-ink-30: rgba(31,30,28,.3);
    --color-cream-12: rgba(245,241,232,.12);
    --color-cream-45: rgba(245,241,232,.45);
    --color-cream-20: rgba(245,241,232,.2);
    --color-ink-55: rgba(31,30,28,.55);
    --color-black-45: rgba(0,0,0,.45);
    --color-blue-18: rgba(61,90,128,.18);
    --color-white-40: rgba(255,253,249,.4);
    --color-cream-35: rgba(245,241,232,.35);
    --color-pure-white: #fff;
    --color-ink-deep-12: rgba(26,26,26,.12);
    --color-ink-deep-06: rgba(26,26,26,.06);
    --color-ink-45: rgba(31,30,28,.45);
    --color-black-60: rgba(0,0,0,.6);
    --color-pure-black: #000;
    --color-blue-band: var(--blue);
    --v2-card-title: clamp(1.25rem, 1.1rem + .4vw, 1.5rem);
    --color-ink-fixed: var(--color-ink);
    --color-text-fixed: var(--color-text);
    --color-muted-fixed: var(--color-muted);
    --color-line-fixed: var(--color-line);
    --color-line-strong-fixed: var(--color-line-strong);
    --color-cta: var(--cta);
    --color-cta-hover: var(--cta-hover);
    --v2-cta-size: 16px;
    --color-white-18: rgba(255,255,255,.18);
    --color-white-06: rgba(255,255,255,.06);
    --color-black-08: rgba(0,0,0,.08);
    --color-black-12: rgba(0,0,0,.12);
    --color-black-20: rgba(0,0,0,.2);
    --color-black-28: rgba(0,0,0,.28);
    --color-black-40: rgba(0,0,0,.4);
    --v2-cta-shadow: inset 0 1px 0 var(--color-white-18), 0 1px 2px var(--color-black-08);
    --v2-cta-shadow-hover: inset 0 1px 0 var(--color-white-18), 0 4px 10px var(--color-black-12);
    --v2-card-shadow: 0 12px 28px var(--color-ink-deep-06);
}

section,
footer {
    margin-top: 0;
}

    /*
     *  Type
     */
body {
    color: var(--color-text);
}

h1,
h2,
h3,
h4 {
    color: var(--color-ink);
    font-weight: 600;
    letter-spacing: -0.02em;
}

    :is(h1, h2, h3, h4, h5, #v2-boost) em,
    :is(h1, h2, h3, h4, h5, #v2-boost) em .endcap-period {
        display: inline !important;
        font-style: normal !important;
        font-family: inherit !important;
        font-weight: inherit !important;
        color: inherit !important;
        text-decoration: none !important;
        letter-spacing: inherit !important;
    }

.v2-label,
html body .kicker {
    display: block !important;
    margin: 0 0 var(--s-5) !important;
    font-family: var(--ff-body) !important;
    font-size: var(--text-xs) !important;
    font-weight: 600 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    line-height: 1.4;
    color: var(--blue) !important;
}

html body .kicker::before,
html body .kicker::after {
    display: none !important;
}

        html body .section-row-body ul li::before,
        html body .blog-body li::before {
            top: .72em !important;
            width: 6px !important;
            height: 6px !important;
            border-radius: 50% !important;
            background: var(--blue) !important;
        }

.ph {
    width: 1em;
    height: 1em;
    flex: none;
}

html body .reveal,
html body .reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}


/*  Common Elements
-------------------------------------------*/

    /*
     *  Shared Components
     */
.wrap {
    padding-left: var(--v2-gutter);
    padding-right: var(--v2-gutter);
}

.topbar-inner,
.utility-bar-inner {
    max-width: var(--max-w);
    padding-left: var(--v2-gutter);
    padding-right: var(--v2-gutter);
}

html body .utility-bar {
    background: var(--anchor) url(../img/textures/concrete-charcoal.webp) 0 0 / 768px repeat !important;
    border-bottom: 0 !important;
}

html body .utility-bar-item {
    font-size: var(--text-xs);
    letter-spacing: .02em;
    text-transform: none;
    color: var(--color-on-dark-2) !important;
}

    html body .utility-bar-item strong {
        font-weight: 600;
        color: var(--color-on-dark) !important;
    }

html body .utility-bar-sep {
    color: var(--color-cream-40) !important;
}

    .topbar-nav a {
        font-family: var(--ff-body);
        font-size: var(--text-sm);
        font-weight: 500;
        color: var(--color-text);
    }

    .topbar-nav a:hover,
    .topbar-nav a.active {
        color: var(--color-ink);
    }

html body .topbar {
    padding: env(safe-area-inset-top, 0px) 0 0 !important;
    background: var(--bg) url(../img/textures/travertine-cream.webp) 0 0 / 1024px repeat !important;
    border: 0 !important;
    border-bottom: 1px solid var(--color-line-strong) !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

html body .topbar-inner {
    max-width: var(--max-w) !important;
    min-height: 100px;
    margin: 0 auto !important;
    padding: 0 var(--v2-gutter) !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

html body .topbar-lockup {
    gap: var(--s-4) !important;
}

    html body .topbar-lockup .mark {
        width: 76px !important;
    }

html body .topbar-wordmark {
    font-size: var(--text-xl) !important;
    letter-spacing: .07em !important;
}

    html body .topbar-nav .menu {
        gap: var(--s-1);
    }

    html body .topbar-nav a,
    html body .topbar-nav .nav-trigger {
        padding: var(--s-3) var(--s-4) !important;
        font-size: var(--text-md) !important;
        font-weight: 500 !important;
        color: var(--color-text) !important;
        border-radius: 999px !important;
        box-shadow: none !important;
        transition: all ease 0.4s;
    }

    html body .topbar-nav a.active,
    html body .topbar-nav .current-menu-item > a {
        color: var(--color-ink) !important;
        box-shadow: none !important;
    }

        html body .topbar-nav .nav-trigger .chev {
            width: 10px !important;
            height: 6px !important;
            overflow: visible;
            transform: none !important;
            transition: none !important;
        }

    html body .topbar-nav .nav-dropdown {
        width: 280px !important;
        padding: var(--s-2) !important;
        margin-top: var(--s-2) !important;
        background: var(--color-paper) !important;
        border: 1px solid var(--color-line) !important;
        box-shadow: 0 24px 48px -20px var(--color-ink-30) !important;
        opacity: 0;
        transform: none !important;
        transition: all ease 0.4s;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }

        html body .topbar-nav .nav-item:hover > .nav-dropdown,
        html body .topbar-nav .nav-item:focus-within > .nav-dropdown,
        html body .topbar-nav .nav-item.is-open > .nav-dropdown {
            opacity: 1;
        }

            html body .topbar-nav .nav-dropdown > li > a {
                display: block !important;
                padding: var(--s-3) var(--s-4) !important;
                font-family: var(--ff-body) !important;
                font-size: var(--text-sm) !important;
                font-weight: 500 !important;
                letter-spacing: 0 !important;
                text-transform: none !important;
                color: var(--color-text) !important;
                background: none !important;
                border: 0 !important;
            }

            html body .topbar-nav .nav-dropdown > li > a:hover {
                color: var(--color-ink) !important;
                background: var(--color-stone) !important;
            }

        html body .topbar-nav .nav-dropdown > li:last-child {
            margin-top: var(--s-2) !important;
            padding-top: var(--s-2) !important;
            border-top: 1px solid var(--color-line) !important;
        }

    html body .topbar-nav .nav-dd-all {
        color: var(--blue) !important;
        font-weight: 600 !important;
    }

        html body .topbar-nav .nav-dd-all .arr {
            margin-left: var(--s-2);
            transition: none !important;
        }

    html body .topbar-nav .nav-trigger::after,
    html body .topbar-nav > .menu > li > a::after {
        display: none !important;
    }

        html body .topbar-nav .nav-dd-all:hover .arr {
            transform: none !important;
        }

html body .btn,
html body .js-open-book.js-open-book,
html body .mobile-cta-bar .btn {
    min-height: 56px !important;
    gap: var(--s-3) !important;
    padding: 0 var(--s-7) !important;
    font-family: var(--ff-body) !important;
    font-weight: 600 !important;
    font-size: var(--text-md) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    line-height: 1 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    background-image: none !important;
    transition: all ease 0.4s;
}

html body .js-open-book.js-open-book:hover,
html body .btn:hover {
    transform: translateY(-1px) !important;
}

html body .js-open-book.js-open-book:active,
html body .btn:active {
    transform: translateY(1px) !important;
}

html body .js-open-book::after,
html body .mobile-menu-cta::after,
html body .book-modal .gform_button::after {
    width: 18px;
    height: 18px;
    margin: 0 !important;
    content: "" !important;
    background: currentColor;
    -webkit-mask: url(../icons/arrow-right.svg) center / contain no-repeat;
    mask: url(../icons/arrow-right.svg) center / contain no-repeat;
    transition: none !important;
}

html body .js-open-book:hover::after {
    transform: none !important;
}

    html body .topbar-actions .btn.btn-sm.js-open-book.js-open-book {
        min-height: 46px !important;
        padding: 0 var(--s-6) !important;
        font-size: var(--text-sm) !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        border-radius: 999px !important;
        box-shadow: none !important;
    }

        html body :is(.gform_wrapper, #v2-boost) .gform_footer .gform_button,
        html body .book-modal .gform_footer .gform_button {
            font-family: var(--ff-body) !important;
            font-weight: 600 !important;
            font-size: var(--text-md) !important;
            letter-spacing: 0 !important;
            text-transform: none !important;
            border-radius: 999px !important;
            box-shadow: none !important;
            background-image: none !important;
        }

.v2-link {
    display: inline-flex;
    align-items: center;
    gap: var(--s-3);
    font-size: var(--text-md);
    font-weight: 600;
    color: var(--color-ink);
    text-decoration: none;
}

    .v2-link span {
        text-decoration: underline;
        text-decoration-color: transparent;
        text-underline-offset: 5px;
        text-decoration-thickness: 2px;
        transition: all ease 0.4s;
    }

    .v2-link:hover span {
        text-decoration-color: currentColor;
    }

    .v2-link .ph {
        font-size: var(--text-lg);
    }

.v2-round {
    width: 48px;
    height: 48px;
    display: inline-grid;
    place-items: center;
    flex: none;
    padding: 0;
    color: var(--color-ink);
    font-size: var(--text-lg);
    border-radius: 50%;
    border: 1px solid var(--color-line-strong);
    background: transparent;
    cursor: pointer;
    transition: all ease 0.4s;
}

html body .consult {
    padding: var(--v2-section) 0;
    margin: 0;
    background: var(--anchor);
    border: 0;
}

    html body .consult .wrap {
        max-width: var(--max-w);
    }

html body .consult-band {
    align-items: flex-end;
    gap: var(--s-7) var(--s-11);
    flex-wrap: wrap;
    padding: 0;
    color: var(--color-on-dark-2);
    background: none;
    border-radius: 0;
}

    html body .consult-left h6 {
        margin: 0 0 var(--s-5);
        font-family: var(--ff-body);
        font-size: var(--text-xs);
        font-weight: 600;
        letter-spacing: .14em;
        text-transform: uppercase;
        color: var(--color-blue-light);
    }

    html body .consult-left h3 {
        margin: 0 0 var(--s-6);
        font-size: var(--v2-h2);
        font-weight: 600;
        line-height: 1.06;
        letter-spacing: -0.025em;
        color: var(--color-on-dark);
    }

    html body .consult-left p {
        max-width: 52ch;
        color: var(--color-on-dark-2);
        font-size: var(--v2-lead);
        line-height: 1.65;
    }

html body footer {
    padding: clamp(64px, 7vw, 96px) 0 var(--s-8) !important;
    border-top: 1px solid var(--color-cream-12);
}

    html body footer .foot-grid {
        gap: var(--s-9) 72px !important;
        padding-bottom: 56px !important;
    }

        footer .foot-col li {
            margin-bottom: 0;
        }

        footer .foot-col a {
            min-height: 44px;
            display: inline-flex;
            align-items: center;
            font-size: var(--text-md);
        }

        footer .foot-brand p {
            max-width: 38ch;
            font-size: var(--text-md);
            line-height: 1.65;
        }

        footer .foot-col h3,
        footer .foot-geo,
        footer .foot-licenses,
        footer .foot-bottom,
        footer .foot-bottom a {
            font-family: var(--ff-body) !important;
        }

        footer .foot-col h3 {
            margin-bottom: var(--s-5) !important;
            font-size: var(--text-xs) !important;
            font-weight: 600 !important;
            letter-spacing: .16em !important;
            text-transform: uppercase !important;
            color: var(--color-blue-light) !important;
        }

    footer .foot-geo,
    footer .foot-licenses {
        font-size: var(--text-xs) !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        line-height: 1.6 !important;
    }

    html body footer .foot-bottom {
        align-items: center !important;
        padding-top: 28px !important;
        font-size: var(--text-xs) !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

        footer .foot-bottom a {
            min-height: 44px;
            display: inline-flex;
            align-items: center;
            letter-spacing: 0 !important;
            text-transform: none !important;
        }

    html body footer :is(.foot-geo, .foot-copy-main, .foot-copy-dba) {
        color: var(--color-on-dark-3) !important;
    }

        html body footer .foot-copy .foot-copy-credit {
            width: fit-content;
            display: flex;
            color: var(--color-on-dark-3) !important;
        }

    .foot-brand-lockup span {
        letter-spacing: .06em;
        font-weight: 700;
    }


/*  Section: Home
-------------------------------------------*/

    /*
     *  Page
     */
    body.home .wrap {
        max-width: var(--max-w);
    }

    body.home section {
        scroll-margin-top: 104px;
    }

.v2-bleed {
    display: grid;
    grid-template-columns: [full-start] minmax(var(--v2-gutter), 1fr) [content-start] repeat(12, minmax(0, var(--v2-col))) [content-end] minmax(var(--v2-gutter), 1fr) [full-end];
}

.v2-head {
    margin-bottom: clamp(36px, 4vw, 56px);
}

    .v2-head h2,
    .v2-paths-side h2,
    .v2-about-body h2,
    .v2-how-side h2,
    .v2-cred-copy h2 {
        margin: 0;
        font-size: var(--v2-h2);
        line-height: 1.06;
        letter-spacing: -0.025em;
        text-wrap: wrap;
    }

    .v2-head h2 {
    }

.v2-lead,
.v2-lead p {
    max-width: 54ch;
    margin: 0;
    font-size: var(--v2-lead);
    line-height: 1.65;
    color: var(--color-text);
}

        .v2-head h2 + .v2-lead {
            margin-top: var(--s-5);
        }

.v2-head-row {
    display: grid;
    gap: var(--s-5);
}

.v2-head-row {
    grid-template-columns: 7fr 5fr;
    align-items: end;
    gap: var(--s-11);
}

.v2-more {
    margin: 28px 0 0;
}

    /*
     *  Opening
     */
    html body.home .hero.v2-hero {
        overflow: hidden;
        padding: 0 !important;
        color: var(--color-text) !important;
        background: var(--bg) !important;
    }

    html body.home .hero.v2-hero::before,
    html body.home .hero.v2-hero::after {
        display: none !important;
    }

.v2-hero-text {
    grid-column: content-start / span 6;
    align-self: center;
    padding: clamp(56px, 6vw, 104px) var(--s-8) clamp(56px, 6vw, 104px) 0;
}

        html body.home .v2-hero h1 {
            margin: 0 0 28px !important;
            font-size: var(--v2-h1) !important;
            font-weight: 600 !important;
            line-height: 1.04 !important;
            letter-spacing: -0.03em !important;
            color: var(--color-ink) !important;
            text-wrap: wrap;
        }

.v2-hero-dek {
    max-width: 46ch;
    margin: 0 0 36px;
    font-size: var(--v2-lead);
    line-height: 1.65;
    color: var(--color-text);
}

.v2-hero-media {
    min-height: min(78vh, 740px);
    grid-column: 8 / full-end;
    overflow: hidden;
    border-radius: 0 0 0 var(--v2-r-panel);
    position: relative;
}

    .v2-hero-media img {
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 50% 35%;
        position: absolute;
    }

    /*
     *  Recognition
     */
.v2-paths {
    display: grid;
    gap: var(--s-8);
}

    .v2-paths-side .v2-lead {
        margin-top: var(--s-5);
    }

.v2-paths-tabs {
    display: none;
}

.v2-paths-panels {
    display: grid;
    gap: var(--s-9);
}

.v2-paths-media {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: var(--v2-r-card);
    background: var(--color-stone);
}

    .v2-paths-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

.v2-paths-copy {
    padding-top: var(--s-6);
}

    .v2-paths-copy h3 {
        margin: 0 0 var(--s-3);
        font-size: var(--v2-h3);
        line-height: 1.15;
    }

    .v2-paths-copy p {
        max-width: 44ch;
        min-height: calc(3 * 1.6em);
        margin: 0 0 var(--s-5);
        font-size: var(--v2-lead);
        line-height: 1.6;
        color: var(--color-text);
    }

    .v2-js .v2-paths {
        grid-template-columns: 5fr 7fr;
        gap: 7%;
    }

    .v2-js .v2-paths-tabs {
        display: flex;
        flex-direction: column;
        gap: var(--s-2);
        margin-top: var(--s-8);
    }

    .v2-js .v2-paths-panel {
        grid-area: 1 / 1;
        visibility: hidden;
        opacity: 0;
    }

    .v2-js .v2-paths-panel.is-active {
        visibility: visible;
        opacity: 1;
    }

    .v2-js .v2-paths-panel:not(.is-active) {
        display: block;
    }

        .v2-js .v2-paths-copy h3 {
            display: none;
        }

    .v2-js .v2-paths-copy {
        align-items: flex-end;
        justify-content: space-between;
        gap: var(--s-7);
    }

        .v2-js .v2-paths-copy .v2-link {
            flex: none;
            white-space: nowrap;
        }

.v2-paths-tab {
    width: calc(100% + 40px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-6);
    padding: var(--s-4) var(--s-5);
    margin: 0 calc(var(--s-5) * -1);
    text-align: left;
    font-family: var(--ff-display);
    font-weight: 600;
    font-size: clamp(1.35rem, 1.1rem + .8vw, 1.85rem);
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: var(--color-muted);
    border-radius: 16px;
    background: none;
    border: 0;
    cursor: pointer;
    transition: all ease 0.4s;
}

    .v2-paths-tab .ph {
        font-size: .85em;
        opacity: 0;
    }

.v2-paths-tab:hover {
    color: var(--color-ink);
}

.v2-paths-tab.is-active {
    color: var(--color-ink);
    background: var(--color-stone);
}

    .v2-paths-tab.is-active .ph {
        color: var(--cta);
        opacity: 1;
    }

.v2-paths-tab:focus-visible {
    outline: 2px solid var(--blue);
    outline-offset: 2px;
}

    /*
     *  Why Kit
     */
.v2-about {
    background: var(--color-stone);
}

    .v2-bleed-left .v2-about-media {
        min-height: 520px;
        grid-column: full-start / 7;
        overflow: hidden;
        border-radius: 0 var(--v2-r-panel) var(--v2-r-panel) 0;
        position: relative;
    }

    .v2-about-media img {
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 50% 30%;
        position: absolute;
    }

.v2-about-body {
    grid-column: 8 / content-end;
    align-self: center;
    padding: var(--v2-section) 0;
}

    .v2-about-body h2 {
        margin-bottom: 28px;
    }

    .v2-prose p {
        max-width: 56ch;
        margin: 0 0 var(--s-5);
        font-size: var(--v2-lead);
        line-height: 1.7;
        color: var(--color-text);
    }

    /*
     *  How It Works
     */
.v2-how-layout {
    display: grid;
    gap: var(--s-8);
}

.v2-how-layout {
    grid-template-columns: 5fr 7fr;
    gap: 7%;
    align-items: start;
}

.v2-how-media {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    margin-top: 36px;
    border-radius: var(--v2-r-card);
}

    .v2-how-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

.v2-steps {
    display: grid;
    gap: var(--s-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.v2-step {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: var(--s-6);
    align-items: start;
    padding: 28px var(--s-7);
    background: var(--color-stone);
    border-radius: var(--v2-r-card);
}

.v2-step-num {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    color: var(--color-on-dark);
    font-family: var(--ff-display);
    font-weight: 600;
    font-size: var(--text-xl);
    border-radius: 50%;
    background: var(--blue);
}

    .v2-step p {
        align-self: center;
        margin: 0;
        font-size: var(--v2-lead);
        line-height: 1.55;
        color: var(--color-ink);
    }

    /*
     *  Services
     */
.v2-services {
    background: var(--color-stone);
}

.v2-svc-list {
    display: grid;
    gap: var(--s-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.v2-svc {
    display: grid;
    gap: var(--s-5) var(--s-8);
    align-items: center;
    padding: var(--s-4);
    color: inherit;
    text-decoration: none;
    background: var(--bg);
    border-radius: var(--v2-r-card);
    transition: all ease 0.4s;
}

.v2-svc {
    grid-template-columns: 240px 1fr auto;
    padding: var(--s-4) var(--s-7) var(--s-4) var(--s-4);
}

.v2-svc:hover {
    background: var(--color-white);
}

.v2-svc-media {
    aspect-ratio: 3 / 2;
    overflow: hidden;
    border-radius: 16px;
}

    .v2-svc-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

.v2-svc-copy {
    padding: 0 var(--s-2);
}

    .v2-svc h3 {
        margin: 0 0 var(--s-2);
        font-size: var(--v2-h3);
        line-height: 1.15;
    }

    .v2-svc p {
        max-width: 62ch;
        margin: 0;
        font-size: var(--v2-body);
        line-height: 1.6;
        color: var(--color-text);
    }

.v2-svc-cta {
    display: inline-flex;
    align-items: center;
    gap: var(--s-4);
    padding: 0 var(--s-2) var(--s-2);
    font-size: var(--text-md);
    font-weight: 600;
    color: var(--color-ink);
    white-space: nowrap;
}

    .v2-svc:hover .v2-round {
        color: var(--color-on-dark);
        background: var(--color-ink);
        border-color: var(--color-ink);
    }

    /*
     *  Proof
     */
.v2-case-panel {
    display: grid;
    overflow: hidden;
    color: var(--color-on-dark-2);
    border-radius: var(--v2-r-panel);
    background: var(--anchor);
}

.v2-case-panel {
    grid-template-columns: 7fr 5fr;
}

.v2-case-body {
    padding: var(--v2-pad-panel);
}

        .v2-proofband .v2-case-body .v2-label {
            color: var(--color-blue-light) !important;
        }

    .v2-case-body h2 {
        margin: 0 0 var(--s-6);
        color: var(--color-on-dark);
        font-size: var(--v2-h2);
        line-height: 1.08;
        letter-spacing: -0.025em;
        text-wrap: wrap;
    }

.v2-case-story {
    max-width: 58ch;
    margin: 0;
    font-size: var(--v2-lead);
    line-height: 1.7;
}

.v2-case-note {
    margin-top: 28px;
    font-size: var(--text-sm);
    color: var(--color-on-dark-3);
}

    .v2-case-note * {
        margin: 0;
        font: inherit;
        letter-spacing: 0;
        text-transform: none;
        color: inherit;
    }

.v2-case-media {
    min-height: 340px;
    position: relative;
}

    .v2-case-media img {
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 40% 50%;
        position: absolute;
    }

.v2-review {
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--s-5);
    margin: 0;
    padding: clamp(28px, 2.8vw, 40px);
    background: var(--color-stone);
    border-radius: var(--v2-r-card);
}

    html body .v2-review blockquote {
        flex: 1;
        margin: 0 !important;
        padding: 0 !important;
        font-style: normal !important;
        font-family: var(--ff-display) !important;
        font-weight: 500 !important;
        font-size: 1.2rem !important;
        line-height: 1.5 !important;
        letter-spacing: -0.01em !important;
        color: var(--color-ink) !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: none !important;
    }

        .v2-review blockquote em,
        .v2-review blockquote strong,
        .v2-review blockquote u {
            font-style: normal;
            font-weight: inherit;
            text-decoration: none;
            color: inherit;
        }

    .v2-review figcaption {
        display: flex;
        flex-direction: column;
        gap: 2px;
        font-size: var(--text-sm);
        color: var(--color-muted);
    }

        .v2-review figcaption strong {
            color: var(--color-ink);
            font-weight: 600;
            font-size: var(--text-md);
        }

    /*
     *  Credentials
     */
.v2-credband {
    padding: clamp(44px, 5vw, 72px) 0;
}

.v2-cred-layout {
    display: grid;
    gap: var(--s-7);
    align-items: center;
}

.v2-cred-layout {
    grid-template-columns: 5fr 7fr;
    gap: 6%;
}

    .v2-cred-copy h2 {
        font-size: var(--v2-h2) !important;
    }

.v2-cred-text {
    max-width: 62ch;
    margin: var(--s-4) 0 0;
    font-size: var(--text-sm);
    line-height: 1.65;
    color: var(--color-muted);
}

    .v2-cred-copy .v2-lead {
        margin-top: var(--s-5);
    }

.v2-logos {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--s-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.v2-logos {
    grid-template-columns: repeat(6, 1fr);
}

    .v2-logos li {
        aspect-ratio: 4 / 3;
        display: grid;
        place-items: center;
        padding: var(--s-5);
        background: var(--color-stone);
        border-radius: var(--v2-r-card);
    }

    html body .v2-logos img {
        width: 84px !important;
        height: 84px !important;
        max-width: 100% !important;
        object-fit: contain;
    }

    /*
     *  Free Guide Rail
     */
.v2-rail {
    right: 0;
    bottom: 0;
    left: 0;
    z-index: var(--z-sticky);
    padding: var(--s-3) var(--v2-gutter) calc(var(--s-3) + env(safe-area-inset-bottom, 0px));
    color: var(--color-on-dark-2);
    border-top: 1px solid var(--color-cream-20);
    position: fixed;
}

.v2-rail.is-docked {
    visibility: hidden;
}

.v2-rail-inner {
    max-width: var(--v2-container);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 700px);
    gap: var(--s-6);
    align-items: center;
    margin: 0 auto;
    position: relative;
}

    html body .v2-rail-text .v2-label {
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        margin: -1px !important;
        position: absolute !important;
    }

    html body .v2-rail-text h2 {
        max-width: none;
        margin: 0;
        color: var(--color-on-dark);
        font-size: var(--text-2xl);
        line-height: 1.1;
        white-space: nowrap;
    }

    html body .v2-rail .hf-foot {
        overflow: hidden;
        margin: var(--s-2) 0 0 !important;
        white-space: nowrap;
        text-overflow: ellipsis;
        font-family: var(--ff-body) !important;
        font-size: var(--text-sm) !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        color: var(--color-on-dark-2) !important;
        text-align: left !important;
    }

.v2-rail-text {
    padding-left: calc(var(--v2-cover-w) + var(--s-5));
    --v2-cover-w: clamp(88px, 7.8vw, 112px);
    position: relative;
}

.v2-rail-cover {
    left: 0;
    bottom: 0;
    width: var(--v2-cover-w);
    aspect-ratio: 3 / 4;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    padding: var(--s-1);
    color: var(--color-ink);
    text-align: center;
    border-radius: 2px;
    background: var(--color-white);
    box-shadow: 0 12px 24px var(--color-black-28), 0 2px 4px var(--color-black-20);
    position: absolute;
}

.v2-rail-cover-photo {
    min-height: 0;
    display: block;
    flex: 1 1 0;
    overflow: hidden;
}

    .v2-rail-cover-photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 50% 18%;
        display: block;
    }

.v2-rail-cover-mark {
    width: 56%;
    flex: 1 1 0;
    align-self: center;
    background: var(--color-ink);
    -webkit-mask: url(../img/logo-mark.svg) center / contain no-repeat;
    mask: url(../img/logo-mark.svg) center / contain no-repeat;
}

.v2-rail-cover-words {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: var(--s-2) 0 var(--s-1);
}

.v2-rail-cover-lead {
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--blue);
}

.v2-rail-cover-title {
    font-family: var(--v2-serif);
    font-size: var(--text-md);
    line-height: 1.1;
    text-transform: capitalize;
}

    html body .v2-rail .start-form-wrap {
        min-width: 0;
        max-width: none !important;
        align-self: center;
        margin: 0 !important;
    }

        html body.v2-has-rail .v2-guide .hero-form::before,
        html body.v2-has-rail .v2-guide .hero-form::after {
            display: none !important;
        }

        html body.v2-has-rail .v2-guide .hero-form {
            padding: 0 !important;
            margin: 0 !important;
            background: none !important;
            border: 0 !important;
            box-shadow: none !important;
            border-radius: 0 !important;
        }

    .v2-rail form {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: var(--s-4);
        align-items: end;
    }

        html body .v2-guide :is(.gform_wrapper, #v2-boost) .gform_fields {
            display: grid !important;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: var(--s-4) !important;
        }

        html body .v2-guide :is(.gform_wrapper, #v2-boost) .gfield_label {
            width: 1px !important;
            height: 1px !important;
            display: block !important;
            visibility: visible !important;
            overflow: hidden !important;
            clip: rect(0 0 0 0) !important;
            margin: -1px !important;
            position: absolute !important;
        }

            html body .v2-guide :is(.gform_wrapper, #v2-boost) .ginput_container input {
                min-height: 48px !important;
                padding: var(--s-3) var(--s-4) !important;
                color: var(--color-ink) !important;
                font-family: var(--ff-body) !important;
                font-size: var(--text-md) !important;
                background: var(--color-white) !important;
                border: 1px solid var(--color-line-strong) !important;
                border-radius: 4px !important;
                box-shadow: none !important;
            }

            html body .v2-guide :is(.gform_wrapper, #v2-boost) .ginput_container input:focus {
                border-color: var(--blue) !important;
                outline: 2px solid var(--color-white-40) !important;
                outline-offset: 0 !important;
            }

        html body .v2-guide :is(.gform_wrapper, #v2-boost) .gform_footer {
            margin: 0 !important;
            padding: 0 !important;
        }

            html body .v2-guide :is(.gform_wrapper, #v2-boost) .gform_footer .gform_button {
                width: auto !important;
                min-height: 48px !important;
                padding: 0 var(--s-7) !important;
                color: var(--cta-ink) !important;
                background: var(--color-cta) !important;
                border: 0 !important;
            }

            html body .v2-guide :is(.gform_wrapper, #v2-boost) .gform_footer .gform_button:hover {
                background: var(--color-cta-hover) !important;
            }

        html body .v2-guide :is(.gform_wrapper, #v2-boost) .gfield_validation_message {
            color: var(--color-on-dark) !important;
            background: none !important;
            border-color: var(--color-cream-40) !important;
        }

        html body .v2-guide :is(.gform_wrapper, #v2-boost) .gform_validation_errors {
            width: 1px !important;
            height: 1px !important;
            overflow: hidden !important;
            clip: rect(0 0 0 0) !important;
            margin: -1px !important;
            padding: 0 !important;
            border: 0 !important;
            position: absolute !important;
        }

    .v2-rail .hf-success {
        padding: 0 !important;
        color: var(--color-on-dark);
        background: none !important;
        border: 0 !important;
    }

.hf-success-row {
    display: flex;
    align-items: center;
    gap: var(--s-4);
    text-align: left;
}

        html body.v2-has-rail .v2-guide .hf-success-mark {
            margin: 0;
            background: none !important;
        }

    .hf-success-mark .ph {
        display: block;
        font-size: var(--text-4xl);
        color: var(--color-on-dark);
    }

            html body.v2-has-rail .v2-guide .hf-success h3 {
                margin: 0 0 var(--s-1);
                font-family: var(--ff-display);
                font-weight: var(--fw-black);
                font-size: var(--text-xl);
                letter-spacing: -0.02em;
                color: var(--color-on-dark);
            }

            html body.v2-has-rail .v2-guide .hf-success p {
                margin: 0;
                color: var(--color-on-dark-2);
            }

.v2-rail-close {
    bottom: calc(var(--v2-cover-w) * 4 / 3 - var(--s-6) + var(--s-2));
    left: calc(var(--v2-cover-w) - var(--s-6) + var(--s-2));
    z-index: 2;
    width: var(--s-6);
    height: var(--s-6);
    min-width: 0;
    min-height: 0;
    display: grid;
    place-items: center;
    padding: 0;
    color: var(--color-on-dark);
    font-size: var(--text-sm);
    border: 2px solid var(--color-white);
    border-radius: 50%;
    background: var(--anchor);
    box-shadow: 0 3px 8px var(--color-black-40);
    cursor: pointer;
    transition: all ease 0.4s;
    position: absolute;
}

.v2-rail-close::after {
    inset: calc(-1 * var(--s-3));
    content: "";
    position: absolute;
}

.v2-rail-close:is(:hover, :focus-visible) {
    color: var(--anchor);
    border-color: var(--color-on-dark);
    background: var(--color-on-dark);
}

.v2-rail-close:focus-visible {
    outline: 2px solid var(--color-on-dark);
    outline-offset: 2px;
}

        .v2-rail.is-done .v2-rail-text > :not(.v2-rail-cover, .v2-rail-close) {
            display: none;
        }

    .v2-rail.is-done .v2-rail-text {
        min-height: var(--s-9);
    }

    .v2-rail.is-done .v2-rail-inner {
        grid-template-columns: auto minmax(0, 1fr);
    }

body.v2-has-rail {
    --v2-lift: calc(var(--v2-rail-h, 0px) + var(--s-4));
}

    html body.v2-has-rail .a11y-widget {
        bottom: var(--v2-lift) !important;
    }

    html body.v2-has-rail .back-to-top {
        bottom: calc(var(--v2-lift) + var(--s-10) + var(--s-1)) !important;
    }

    html body.mobile-menu-open .v2-rail,
    html body.modal-open .v2-rail {
        visibility: hidden !important;
    }

    /*
     *  Questions
     */
.v2-faq {
    background: var(--color-stone);
}

.v2-faq-list {
    display: grid;
    gap: var(--s-3);
}

.v2-faq-item {
    background: var(--bg);
    border-radius: 20px;
}

    .v2-faq-item summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--s-6);
        padding: var(--s-5) var(--s-5) var(--s-5) var(--s-7);
        list-style: none;
        font-family: var(--ff-display);
        font-weight: 600;
        font-size: clamp(1.1rem, 1rem + .35vw, 1.3rem);
        letter-spacing: -0.015em;
        color: var(--color-ink);
        cursor: pointer;
    }

    .v2-faq-item summary::-webkit-details-marker {
        display: none;
    }

.v2-faq-icon {
    width: 44px;
    height: 44px;
    font-size: var(--text-lg);
}

    .v2-faq-item[open] .v2-faq-icon {
        color: var(--color-on-dark);
        background: var(--color-ink);
        border-color: var(--color-ink);
        transform: rotate(45deg);
    }

.v2-faq-a {
    padding: 0 var(--s-7) 28px;
    color: var(--color-text);
    line-height: 1.7;
    font-size: var(--v2-body);
}

    .v2-faq-a p {
        max-width: 62ch;
        margin: 0 0 var(--s-3);
    }

        .v2-faq .v2-lead a {
            color: var(--color-ink);
            text-decoration: underline;
            text-underline-offset: 3px;
            text-decoration-thickness: 1px;
        }

        .v2-faq .v2-lead strong {
            font-weight: 600;
        }

    /*
     *  Learn More
     */
.v2-cards {
    display: grid;
    gap: var(--s-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.v2-cards {
    grid-template-columns: repeat(3, 1fr);
}

.v2-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: clamp(28px, 2.8vw, 40px);
    color: inherit;
    text-decoration: none;
    background: var(--color-stone);
    border-radius: var(--v2-r-card);
    transition: all ease 0.4s;
}

.v2-card:hover {
    background: var(--color-paper);
}

.v2-card-meta {
    margin: 0 0 var(--s-5);
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--blue);
}

    .v2-card h3 {
        margin: 0 0 var(--s-4);
        font-size: var(--v2-card-title);
        line-height: 1.2;
    }

    .v2-card p {
        margin: 0 0 28px;
        font-size: var(--text-md);
        line-height: 1.65;
        color: var(--color-text);
    }

.v2-card-go {
    margin-top: auto;
}

    .v2-card:hover .v2-card-go {
        color: var(--color-on-dark);
        background: var(--color-ink);
        border-color: var(--color-ink);
    }


/*  Section: Editorial Look
-------------------------------------------*/

body.v2-editorial {
    --v2-serif: "Newsreader", "Newsreader Fallback", Georgia, "Times New Roman", serif;
    --v2-h1: clamp(2.4rem, 1.5rem + 2.9vw, 4.2rem);
    --v2-h2: clamp(2rem, 1.4rem + 2.1vw, 3.4rem);
    --v2-h3: clamp(1.45rem, 1.25rem + .6vw, 1.9rem);
    --v2-r-card: 0px;
    --v2-r-panel: 0px;
}

    body.v2-editorial :is(h1, h2, h3):not(:where(.foot-col h3, .hf-success h3)),
    body.v2-editorial .v2-paths-tab,
    html body.v2-editorial.home .v2-hero h1,
    html body.v2-editorial .consult-left h3 {
        font-family: var(--v2-serif) !important;
        font-weight: 400 !important;
        letter-spacing: -0.012em !important;
    }

        html body.v2-editorial :is(.v2-hero, .v2-page-hero, .v2-post-hero) h1 {
            max-width: none !important;
        }

        html body.v2-editorial.home .v2-hero h1 {
            line-height: 1.02 !important;
        }

        body.v2-editorial .v2-head h2,
        body.v2-editorial .v2-paths-side h2,
        body.v2-editorial .v2-about-body h2,
        body.v2-editorial .v2-how-side h2,
        body.v2-editorial .v2-cred-copy h2,
        body.v2-editorial .v2-case-body h2 {
            line-height: 1.04;
        }

    body.v2-editorial .v2-label,
    html body.v2-editorial .kicker {
        color: var(--blue) !important;
        letter-spacing: .16em !important;
        font-size: var(--text-xs) !important;
    }

    html body.v2-editorial .btn,
    html body.v2-editorial .js-open-book.js-open-book,
    html body.v2-editorial .mobile-cta-bar .btn,
    html body.v2-editorial .topbar-actions .btn.btn-sm.js-open-book.js-open-book,
    html body.v2-editorial :is(.gform_wrapper, #v2-boost) .gform_footer .gform_button {
        border-radius: var(--v2-r-btn) !important;
    }

        html body.v2-editorial .topbar-nav a,
        html body.v2-editorial .topbar-nav .nav-trigger {
            border-radius: 4px !important;
        }

    body.v2-editorial .v2-round {
        border-radius: var(--v2-r-btn);
    }

    body.v2-editorial .v2-about,
    body.v2-editorial .v2-services,
    body.v2-editorial .v2-faq {
        background: none;
    }

    body.v2-editorial .v2-paths-tab {
        width: 100%;
        padding: var(--s-3) 0;
        margin: 0;
        color: var(--color-muted);
        font-size: clamp(1.6rem, 1.3rem + 1vw, 2.3rem) !important;
        border-radius: 0;
    }

    body.v2-editorial .v2-paths-tab.is-active {
        color: var(--blue);
        background: none;
    }

    body.v2-editorial .v2-steps {
        gap: 0;
    }

    body.v2-editorial .v2-step {
        grid-template-columns: 64px 1fr;
        padding: var(--s-5) 0;
        background: none;
        border-radius: 0;
    }

    body.v2-editorial .v2-step-num {
        width: auto;
        height: auto;
        place-items: start;
        color: var(--blue);
        font-family: var(--v2-serif);
        font-weight: 400;
        font-size: 2.6rem;
        line-height: 1;
        background: none;
    }

    body.v2-editorial .v2-svc-list {
        gap: var(--s-2);
    }

    body.v2-editorial .v2-svc {
        padding: 28px 0;
        background: none;
        border-radius: 0;
    }

    body.v2-editorial .v2-svc:hover {
        background: none;
    }

        body.v2-editorial .v2-svc:hover h3 {
            text-decoration: underline;
            text-decoration-thickness: 1px;
            text-underline-offset: 6px;
        }

    body.v2-editorial .v2-review {
        padding: 0;
        background: none;
        border-radius: 0;
    }

        html body.v2-editorial .v2-review blockquote {
            font-family: var(--v2-serif) !important;
            font-weight: 400 !important;
            font-size: 1.45rem !important;
            line-height: 1.4 !important;
            letter-spacing: 0 !important;
        }

        body.v2-editorial .v2-logos li {
            aspect-ratio: auto;
            padding: var(--s-4) 0;
            background: none;
            border-radius: 0;
        }

    body.v2-editorial .v2-faq {
        border-top: 1px solid var(--color-line);
    }

    body.v2-editorial .v2-faq-list {
        gap: 0;
    }

    body.v2-editorial .v2-faq-item {
        background: none;
        border-radius: 0;
        border-bottom: 1px solid var(--color-line);
    }

    body.v2-editorial .v2-faq-item:last-child {
        border-bottom: 0;
    }

        body.v2-editorial .v2-faq-item summary {
            padding: var(--s-6) 0;
            font-family: var(--v2-serif);
            font-weight: 400;
            font-size: clamp(1.25rem, 1.1rem + .5vw, 1.55rem);
            letter-spacing: 0;
        }

    body.v2-editorial .v2-faq-a {
        padding: 0 56px var(--s-6) 0;
    }

    body.v2-editorial .v2-faq-icon {
        width: 40px;
        height: 40px;
    }

    body.v2-editorial .v2-cards {
        gap: var(--s-9);
    }

    body.v2-editorial .v2-card {
        padding: 0;
        background: none;
        border-radius: 0;
    }

    body.v2-editorial .v2-card:hover {
        background: none;
    }

        body.v2-editorial .v2-card h3 {
            transition: all ease 0.4s;
        }

        body.v2-editorial .v2-card:hover h3 {
            color: var(--blue);
        }

    body.v2-editorial .v2-card-meta {
        color: var(--color-muted);
    }

    html body #main > section {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

        body.v2-editorial #main > section:not(.v2-rail) {
            position: relative;
        }

        body.v2-editorial #main > .v2-faq {
            background: var(--color-white);
        }

    body.v2-editorial .v2-how {
        color: var(--color-on-dark-2);
        background: var(--blue);
    }

        body.v2-editorial .v2-how .v2-label {
            color: var(--color-blue-light) !important;
        }

        body.v2-editorial .v2-how h2 {
            color: var(--color-on-dark);
        }

            body.v2-editorial .v2-how .v2-step p {
                color: var(--color-on-dark);
            }

        body.v2-editorial .v2-how .v2-step-num {
            color: var(--color-blue-light);
        }

            body.v2-editorial .v2-how .v2-step + .v2-step {
                border-top: 1px solid var(--color-cream-20);
            }


/*  Section: Phone Wrapping, Phone Menu, Booking Popup
-------------------------------------------*/

.v2-nb {
    white-space: nowrap;
}

html body .book-modal-backdrop {
    background: var(--color-ink-55) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

html body .book-modal-card {
    overflow: hidden !important;
    padding: 0 !important;
    background: var(--bg) !important;
    border: 0 !important;
    border-radius: 6px !important;
    box-shadow: 0 40px 80px -30px var(--color-black-45) !important;
    animation: none !important;
    transition: none !important;
}

html body .book-modal-card {
    width: min(1040px, calc(100% - 64px)) !important;
    max-width: none !important;
}

.v2-modal-grid {
    display: grid;
    grid-template-columns: 360px 1fr;
}

.v2-modal-aside {
    background: var(--anchor);
    position: relative;
}

.v2-modal-main {
    overflow-y: auto;
    padding: var(--s-9) 52px var(--s-8);
}

.v2-modal-photo {
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 25%;
    position: absolute;
}

.v2-modal-call {
    left: 20px;
    right: 20px;
    bottom: 20px;
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    color: var(--color-ink);
    font-size: var(--text-md);
    font-weight: 600;
    text-decoration: none;
    background: var(--bg);
    border-radius: var(--v2-r-btn);
    position: absolute;
}

    .v2-modal-call .ph {
        color: var(--blue);
        font-size: var(--text-lg);
    }

html body .book-modal-close {
    top: 16px !important;
    right: 16px !important;
    z-index: 3;
    width: 46px !important;
    height: 46px !important;
    display: grid !important;
    place-items: center !important;
    color: var(--color-ink) !important;
    font-size: var(--text-xl) !important;
    border-radius: var(--v2-r-btn) !important;
    background: var(--bg) !important;
    border: 1px solid var(--color-line-strong) !important;
    box-shadow: none !important;
}

html body .book-modal-kicker {
    margin: 0 0 var(--s-4) !important;
    font-family: var(--ff-body) !important;
    font-size: var(--text-xs) !important;
    font-weight: 600 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: var(--blue) !important;
}

    html body .book-modal #bookModalTitle {
        max-width: 18ch;
        margin: 0 0 var(--s-4) !important;
        font-family: var(--v2-serif, Georgia, serif) !important;
        font-weight: 400 !important;
        font-size: clamp(2rem, 1.6rem + 1.4vw, 2.75rem) !important;
        line-height: 1.08 !important;
        letter-spacing: -0.01em !important;
        color: var(--color-ink) !important;
    }

html body .book-modal-intro {
    max-width: 46ch;
    margin: 0 0 28px !important;
    font-size: var(--text-md) !important;
    line-height: 1.6 !important;
    color: var(--color-text) !important;
}

    html body :is(.gform_wrapper, #v2-boost) .gform_validation_container:is(.gfield, #v2-boost) {
        left: -9000px !important;
        display: none !important;
        position: absolute !important;
    }

        html body .book-modal :is(.gform_wrapper, #v2-boost) label:is(.gfield_label, .gform-field-label) {
            margin-bottom: var(--s-2) !important;
            font-family: var(--ff-body) !important;
            font-size: var(--text-sm) !important;
            font-weight: 600 !important;
            letter-spacing: 0 !important;
            text-transform: none !important;
            color: var(--color-ink) !important;
        }

        html body .book-modal .gform_wrapper :is(input[type=text], input[type=email], input[type=tel], input[type=number], textarea),
        html body .book-modal .select2-container .select2-selection--single {
            min-height: 52px !important;
            padding: var(--s-3) var(--s-4) !important;
            font-family: var(--ff-body) !important;
            font-size: var(--text-md) !important;
            color: var(--color-ink) !important;
            background: var(--color-white) !important;
            border: 1px solid var(--color-line-strong) !important;
            border-radius: 4px !important;
            box-shadow: none !important;
        }

        html body .book-modal .gform_wrapper textarea {
            min-height: 120px !important;
            height: 120px !important;
        }

        html body .book-modal .gform_wrapper :is(input, textarea):focus {
            border-color: var(--blue) !important;
            outline: 2px solid var(--color-blue-18) !important;
            outline-offset: 0 !important;
        }

    html body .book-modal .gform_fields {
        row-gap: var(--s-5) !important;
    }

        html body .book-modal .gform_footer .gform_button {
            width: 100% !important;
            min-height: 56px !important;
            margin-top: var(--s-2) !important;
            color: var(--cta-ink) !important;
            border-radius: var(--v2-r-btn) !important;
            background: var(--color-cta) !important;
        }

        html body .book-modal .bm-success h3 {
            font-family: var(--v2-serif, Georgia, serif) !important;
            font-weight: 400 !important;
            font-size: 2rem !important;
        }

    html body .book-modal .bm-success-mark {
        color: var(--blue) !important;
        font-size: var(--text-4xl) !important;
        background: none !important;
    }

        html body .book-modal .select2-container .select2-selection--single {
            display: flex !important;
            align-items: center !important;
        }

    html body .book-modal :where(.select2-selection--single) > :first-child {
        padding: 0 !important;
        line-height: 1.4 !important;
        color: var(--color-ink) !important;
        font-size: var(--text-md) !important;
    }

    html body .book-modal :where(.select2-selection--single) > :last-child {
        top: 50% !important;
        right: 12px !important;
        transform: translateY(-50%) !important;
    }

html body .book-modal:not([hidden]) {
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
}

html body .book-modal-card {
    top: auto !important;
    max-height: calc(100dvh - 48px) !important;
    height: auto !important;
    margin: 0 !important;
    transform: none !important;
}

.v2-modal-grid {
    max-height: calc(100dvh - 48px);
    grid-template-rows: minmax(0, 1fr);
}

    html body.modal-open .a11y-widget,
    html body.mobile-menu-open .a11y-widget {
        display: none !important;
    }

    body.v2-editorial .v2-step {
        align-items: center;
    }

    body.v2-editorial .v2-step-num {
        align-self: center;
        display: flex;
        align-items: center;
        line-height: 1;
    }

    body.v2-editorial .v2-svc {
        grid-template-columns: 1fr;
        align-items: center;
    }

    body.v2-editorial .v2-svc-media {
        border-radius: 0;
    }

    body.v2-editorial .v2-svc-copy {
        padding: 0;
    }

        body.v2-editorial .v2-svc p {
            margin: 0 0 var(--s-4);
        }

    body.v2-editorial .v2-svc-cta {
        gap: var(--s-2);
        padding: 0;
        color: var(--blue);
    }

        body.v2-editorial .v2-svc-cta .ph {
            font-size: var(--text-md);
        }

            body.v2-editorial .v2-svc:hover .v2-svc-cta span {
                text-decoration: underline;
                text-underline-offset: 5px;
                text-decoration-thickness: 1px;
            }

    body.v2-editorial .v2-svc-list {
        gap: var(--s-4);
    }

            html body .topbar-nav > .menu > li > a,
            html body .topbar-nav .nav-trigger {
                padding: var(--s-3) clamp(6px, calc((100vw - 1181px) * 0.06 + 6px), var(--s-3)) !important;
                font-family: var(--ff-body) !important;
                font-size: var(--text-sm) !important;
                font-weight: 600 !important;
                letter-spacing: .1em !important;
                text-transform: uppercase !important;
                color: var(--color-ink) !important;
                text-decoration: underline !important;
                text-decoration-color: transparent !important;
                text-decoration-thickness: 1.5px !important;
                text-underline-offset: 9px !important;
                background: none !important;
                border-radius: 0 !important;
                transition: all ease 0.4s;
            }

            html body .topbar-nav > .menu > li > a:hover,
            html body .topbar-nav .nav-item:hover > .nav-trigger,
            html body .topbar-nav .current-menu-item > a,
            html body .topbar-nav .current-menu-ancestor > a {
                color: var(--blue) !important;
                text-decoration-color: var(--blue) !important;
                background: none !important;
            }

        html body .topbar-nav .nav-trigger .chev {
            margin-left: 2px;
        }

    html body .topbar-nav .nav-dropdown {
        border-radius: 4px !important;
    }

            html body .topbar-nav .nav-dropdown > li > a {
                border-radius: 2px !important;
            }


/*  Section: Textures
-------------------------------------------*/

html body {
    background: var(--bg) url(../img/textures/travertine-cream.webp) 0 0 / 1024px repeat !important;
}

    html body.home .hero.v2-hero {
        background: transparent !important;
    }

    body.v2-editorial .v2-rail,
    html body .consult {
        background: var(--color-blue-band) url(../img/textures/herringbone-blue.webp) 0 0 / 1024px repeat !important;
    }

    body.v2-editorial .v2-how {
        background: var(--anchor) url(../img/textures/concrete-charcoal.webp) 0 0 / 768px repeat;
    }

.v2-step-lead {
    display: block;
    margin-bottom: var(--s-2);
    font-family: var(--ff-body);
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}

        body.v2-editorial .v2-how .v2-step-lead {
            color: var(--color-blue-light);
        }

.v2-credstrip {
    padding: clamp(36px, 4vw, 56px) 0;
}

.v2-credstrip-inner {
    display: flex;
    align-items: center;
    gap: var(--s-6) 56px;
    flex-wrap: wrap;
}

    .v2-credstrip .v2-label {
        margin: 0 !important;
        white-space: nowrap;
    }

    .v2-credstrip .v2-logos {
        flex: 1;
        display: flex;
        justify-content: space-between;
        gap: var(--s-4);
        flex-wrap: wrap;
    }

            body.v2-editorial .v2-credstrip .v2-logos li {
                padding: 0;
            }

.v2-how-intro {
    max-width: 46ch;
    margin: var(--s-5) 0 0;
    font-size: var(--v2-lead);
    line-height: 1.65;
    color: var(--color-on-dark-2);
}

        body.v2-editorial .v2-reasons .v2-step {
            grid-template-columns: 1fr;
        }

        body.v2-editorial .v2-reasons .v2-step-lead {
            margin-bottom: var(--s-3);
            font-family: var(--ff-body);
            font-size: var(--text-xs);
            font-weight: 600;
            letter-spacing: .16em;
            text-transform: uppercase;
            color: var(--color-blue-light);
        }

            body.v2-editorial .v2-reasons .v2-step + .v2-step {
                border-top: 1px solid var(--color-cream-20);
            }

.v2-case-steps {
    display: grid;
    gap: var(--s-5) 36px;
    margin: var(--s-7) 0 0;
}

.v2-case-steps {
    grid-template-columns: 1fr 1fr;
}

    .v2-case-steps dt {
        margin: 0 0 var(--s-2);
        font-size: var(--text-xs);
        font-weight: 600;
        letter-spacing: .16em;
        text-transform: uppercase;
        color: var(--color-blue-light);
    }

    .v2-case-steps dd {
        margin: 0;
        font-size: var(--text-md);
        line-height: 1.6;
        color: var(--color-on-dark-2);
    }

        .v2-case-steps dd strong {
            display: block;
            margin-bottom: 2px;
            color: var(--color-on-dark);
            font-weight: 600;
        }

.v2-reviews-head {
    margin: clamp(56px, 6vw, 88px) 0 clamp(28px, 3vw, 40px);
}

    .v2-about-body .btn {
        margin-top: var(--s-4);
    }

.v2-logo-wall {
    grid-template-columns: repeat(3, 1fr);
    align-self: center;
    gap: 40px var(--s-6);
}

    html body .v2-logo-wall img {
        width: 132px !important;
        height: 132px !important;
        transform-origin: 50% calc(var(--seal-centre, 0.5) * 100%);
        transform: translateY(calc((0.5 - var(--seal-centre, 0.5)) * 100%)) scale(var(--seal-scale, 1));
    }

    html body .v2-logo-wall li {
        background: none !important;
    }

    html body.v2-editorial .btn,
    html body.v2-editorial .js-open-book.js-open-book,
    html body.v2-editorial .mobile-cta-bar .btn,
    html body.v2-editorial .topbar-actions .btn.btn-sm.js-open-book.js-open-book,
    html body.v2-editorial .mobile-menu .mobile-menu-cta,
    html body.v2-editorial :is(.gform_wrapper, #v2-boost) .gform_footer .gform_button,
    html body.v2-editorial .v2-guide :is(.gform_wrapper, #v2-boost) .gform_footer .gform_button,
    html body.v2-editorial .book-modal .gform_footer .gform_button {
        text-transform: uppercase !important;
        letter-spacing: .1em !important;
        font-size: var(--v2-cta-size) !important;
    }

        html body.v2-editorial .topbar-actions .btn.btn-sm.js-open-book.js-open-book {
            font-size: var(--v2-cta-size) !important;
        }

            html body.v2-editorial :is(.gform_wrapper, #v2-boost) .gform_footer .gform_button,
            html body.v2-editorial .book-modal .gform_footer .gform_button {
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                gap: var(--s-3) !important;
            }

            html body.v2-editorial :is(.gform_wrapper, #v2-boost) .gform_footer .gform_button::after {
                width: 18px;
                height: 18px;
                flex: none;
                margin: 0 !important;
                content: "" !important;
                background: currentColor;
                -webkit-mask: url(../icons/arrow-right.svg) center / contain no-repeat;
                mask: url(../icons/arrow-right.svg) center / contain no-repeat;
            }

    body.v2-editorial :is(h1, h2, h3, h4, h5, h6) {
        text-wrap: wrap;
    }

    .v2-js .v2-paths-copy {
        display: block;
    }

        .v2-js .v2-paths-copy p {
            max-width: 58ch;
            margin: 0 0 var(--s-6);
        }

    html body .v2-paths-copy .v2-link {
        min-height: 48px;
        gap: var(--s-3);
        padding: 0 var(--s-6);
        font-size: var(--v2-cta-size);
        letter-spacing: .1em;
        text-transform: uppercase;
        color: var(--color-ink);
        white-space: nowrap;
        border: 1px solid var(--color-ink);
        border-radius: var(--v2-r-btn);
        transition: all ease 0.4s;
    }

        html body .v2-paths-copy .v2-link span {
            text-decoration: none;
        }

    html body .v2-paths-copy .v2-link:hover {
        color: var(--color-white);
        background: var(--color-ink);
    }

html body .utility-bar-sep {
    display: none !important;
}

html body .utility-bar-inner {
    gap: 28px !important;
}

        html body footer .foot-licenses span {
            display: block;
        }

    html body footer .v2-foot-legal {
        display: flex;
        gap: var(--s-5);
    }

    html body .v2-card .v2-card-meta {
        display: flex !important;
        flex-wrap: wrap;
        gap: var(--s-1) var(--s-5);
    }

            html body .v2-guide :is(.gform_wrapper, #v2-boost) .ginput_container input::placeholder,
            html body .book-modal .gform_wrapper :is(input, textarea)::placeholder {
                color: var(--color-muted) !important;
                opacity: 1 !important;
            }

html body .v2-lockup-text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
    line-height: 1;
}

html body .v2-tagline {
    font-family: var(--ff-body);
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--blue);
    white-space: nowrap;
}

    .v2-js .v2-paths {
        align-items: start;
    }

        body.v2-editorial .v2-faq-item:last-child:not([open]) summary {
            padding-bottom: 0;
        }

        body.v2-editorial .v2-faq-item:last-child .v2-faq-a {
            padding-bottom: 0;
        }

            body.v2-editorial .v2-faq-item:last-child .v2-faq-a p:last-child {
                margin-bottom: 0;
            }

            body.v2-editorial .v2-services .v2-head .v2-lead {
                max-width: 1060px;
            }

    body.v2-editorial .v2-svc-list {
        gap: 56px var(--s-9);
    }

    body.v2-editorial .v2-svc {
        grid-template-columns: 1fr;
        gap: var(--s-6);
        align-items: start;
        padding: 0;
    }

    body.v2-editorial .v2-svc-list {
        grid-template-columns: 1fr 1fr;
    }

    body.v2-editorial .v2-svc-media {
        aspect-ratio: 16 / 9;
    }

        body.v2-editorial .v2-svc p {
            max-width: none;
        }

        body.v2-editorial .v2-svc-media img {
            object-position: 50% 22%;
        }

        body.v2-editorial .v2-svc-media img[src*="HHZ_photo_28"] {
            object-position: 50% 30%;
        }

        body.v2-editorial .v2-svc-media img[src*="HHZ_photo_08"] {
            object-position: 50% 42%;
        }

html body :is(.v2-paths-copy .v2-link, .v2-more .v2-link, .v2-svc .v2-svc-cta) {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    gap: var(--s-3);
    padding: 0 var(--s-6);
    font-family: var(--ff-body);
    font-size: var(--v2-cta-size);
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    line-height: 1;
    color: var(--color-ink);
    white-space: nowrap;
    border: 1px solid var(--color-ink);
    border-radius: var(--v2-r-btn);
    background: none;
    transition: all ease 0.4s;
}

    html body :is(.v2-paths-copy .v2-link, .v2-more .v2-link, .v2-svc .v2-svc-cta) span {
        text-decoration: none !important;
    }

html body :is(.v2-paths-copy .v2-link, .v2-more .v2-link):hover,
html body .v2-svc:hover .v2-svc-cta {
    color: var(--color-white);
    background: var(--color-ink);
}

        html body.v2-editorial .v2-svc:hover h3 {
            text-decoration: none;
        }

        html body.v2-editorial .v2-svc p {
            margin: 0 0 var(--s-6);
        }

    html body .v2-svc-media img {
        transition: all ease 0.4s;
    }

        html body .v2-svc:hover .v2-svc-media img,
        html body .v2-svc:focus-visible .v2-svc-media img {
            transform: scale(1.15);
        }

                html.a11y-motion body .v2-svc .v2-svc-media img {
                    transform: none !important;
                }

html body .v2-head.v2-head-row {
    display: block !important;
}

        html body .v2-head.v2-head-row > div + div,
        html body .v2-head.v2-head-row > div + .v2-lead {
            margin-top: var(--s-5);
        }

    html body .v2-head.v2-head-row .v2-lead {
        max-width: 1060px;
    }

    html body .v2-head.v2-head-row h2 {
    }

    html body .v2-faq .v2-faq-list {
        max-width: none;
        display: grid;
        gap: 0 72px;
    }

    html body .v2-faq .v2-faq-list {
        grid-template-columns: 1fr 1fr;
        align-items: start;
    }

html body footer {
    border-top: 0 !important;
}

html body footer,
.v2-case-panel {
    background: var(--anchor) url(../img/textures/concrete-charcoal.webp) repeat !important;
    background-size: 768px !important;
}

html body footer {
    padding-top: var(--v2-section) !important;
    position: relative;
}

html body footer::before {
    top: 0;
    left: max(var(--v2-gutter), calc((100% - var(--v2-container)) / 2));
    right: max(var(--v2-gutter), calc((100% - var(--v2-container)) / 2));
    height: 1px;
    content: "";
    background: var(--color-cream-12);
    position: absolute;
}

        html body .v2-credband .v2-cred-copy h2 {
            color: var(--color-on-dark) !important;
        }

    html body .v2-credband .v2-cred-text {
        color: var(--color-on-dark-2) !important;
    }

    html body .v2-credband .v2-label {
        color: var(--color-blue-light) !important;
    }

        html body .v2-credband .v2-logos li {
            background: none !important;
        }


/*  Section: Phone Menu, Footer and Article Cards
-------------------------------------------*/

    html body footer a[href^="mailto:"] {
        display: inline-flex;
        align-items: center;
        gap: var(--s-3);
    }

    html body footer a[href^="mailto:"]::before {
        width: 18px;
        height: 18px;
        flex: none;
        content: "";
        background: currentColor;
        opacity: .8;
        -webkit-mask: url(../icons/envelope-simple.svg) center / contain no-repeat;
        mask: url(../icons/envelope-simple.svg) center / contain no-repeat;
    }

    html body.v2-editorial .v2-card {
        padding-top: var(--s-6) !important;
        border-top: 1px solid var(--color-line-strong);
        position: relative;
    }

        html body.v2-editorial .v2-card .v2-card-meta {
            margin: 0 0 var(--s-4) !important;
            padding-right: var(--s-8);
            font-size: var(--text-xs) !important;
            letter-spacing: .16em !important;
        }

            html body.v2-editorial .v2-card .v2-card-meta span {
                display: inline-flex;
                align-items: center;
                gap: var(--s-1);
            }

            html body.v2-editorial .v2-card .v2-card-meta .ph {
                font-size: var(--text-md);
            }

        html body.v2-editorial .v2-card .v2-card-go {
            top: 16px;
            right: 0;
            width: 32px;
            height: 32px;
            display: grid;
            place-items: center;
            margin: 0;
            color: var(--color-ink) !important;
            border: 0 !important;
            background: none !important;
            position: absolute;
        }

            html body.v2-editorial .v2-card .v2-card-go .ph {
                font-size: var(--text-xl);
            }

        html body.v2-editorial .v2-card:hover .v2-card-go {
            color: var(--blue) !important;
        }

        html body.v2-editorial .v2-card p {
            margin: 0 !important;
        }

html body .topbar-hamburger,
html body .mobile-menu .mobile-menu-close,
html body .book-modal-close,
html body .a11y-toggle {
    border-radius: var(--v2-r-btn) !important;
    box-shadow: none !important;
}

html body .a11y-btn,
html body .a11y-reset {
    border-radius: var(--v2-r-btn) !important;
}

html body .topbar-hamburger,
html body .mobile-menu .mobile-menu-close,
html body .book-modal-close {
    height: 44px !important;
    min-height: 44px !important;
    color: var(--color-ink) !important;
    border: 1px solid var(--color-ink) !important;
    background: var(--bg) !important;
}

html body .book-modal-close {
    width: 44px !important;
}

html body .a11y-toggle {
    border: 1px solid var(--color-cream-35) !important;
}

    html body.v2-editorial .btn.btn-primary,
    html body.v2-editorial .js-open-book.js-open-book.btn-primary,
    html body.v2-editorial .topbar-actions .btn.btn-sm.js-open-book.js-open-book,
    html body.v2-editorial .mobile-cta-bar .btn,
    html body.v2-editorial .mobile-menu .mobile-menu-cta,
    html body.v2-editorial .book-modal .gform_footer .gform_button,
    html body.v2-editorial .v2-guide :is(.gform_wrapper, #v2-boost) .gform_footer .gform_button {
        color: var(--cta-ink) !important;
        background: var(--color-cta) !important;
        border-color: var(--color-cta) !important;
        box-shadow: var(--v2-cta-shadow) !important;
    }

    html body.v2-editorial .btn.btn-primary:hover,
    html body.v2-editorial .js-open-book.js-open-book.btn-primary:hover,
    html body.v2-editorial .topbar-actions .btn.btn-sm.js-open-book.js-open-book:hover,
    html body.v2-editorial .mobile-cta-bar .btn:hover,
    html body.v2-editorial .mobile-menu .mobile-menu-cta:hover,
    html body.v2-editorial .book-modal .gform_footer .gform_button:hover,
    html body.v2-editorial .v2-guide :is(.gform_wrapper, #v2-boost) .gform_footer .gform_button:hover {
        background: var(--color-cta-hover) !important;
        border-color: var(--color-cta-hover) !important;
        box-shadow: var(--v2-cta-shadow-hover) !important;
    }

    html body.v2-editorial .btn.btn-primary:active,
    html body.v2-editorial .js-open-book.js-open-book.btn-primary:active,
    html body.v2-editorial .topbar-actions .btn.btn-sm.js-open-book.js-open-book:active,
    html body.v2-editorial .mobile-cta-bar .btn:active,
    html body.v2-editorial .mobile-menu .mobile-menu-cta:active,
    html body.v2-editorial .book-modal .gform_footer .gform_button:active,
    html body.v2-editorial .v2-guide :is(.gform_wrapper, #v2-boost) .gform_footer .gform_button:active {
        box-shadow: var(--v2-cta-shadow) !important;
    }


/*  Section: Inner Pages
-------------------------------------------*/

html body .hero.v2-hero.v2-page-hero {
    overflow: hidden;
    padding: 0 !important;
    margin: 0 !important;
    color: var(--color-text) !important;
    background: transparent !important;
}

html body .v2-page-hero::before,
html body .v2-page-hero::after {
    display: none !important;
}

    html body .v2-page-hero .v2-hero-media {
        min-height: min(60vh, 540px);
        border-radius: 0 !important;
    }

        html body .breadcrumb-strip + .v2-page-hero .v2-hero-media {
            margin-top: var(--s-6);
        }

    html body .v2-page-hero .v2-hero-text {
        padding-top: clamp(48px, 5vw, 88px);
        padding-bottom: clamp(48px, 5vw, 88px);
    }

    html body .v2-page-hero .v2-hero-text:only-child {
        padding-bottom: 0;
    }

        html body.v2-editorial .v2-page-hero h1 {
            margin: 0 0 var(--s-6) !important;
            font-size: var(--v2-h1) !important;
            line-height: 1.04 !important;
            color: var(--color-ink) !important;
            text-wrap: wrap;
        }

    html body .v2-page-hero .v2-hero-dek {
        margin-bottom: 0;
    }

        html body .v2-page-hero h1 em,
        html body .v2-post-hero h1 em,
        html body .v2-row h2 em,
        html body .v2-related h2 em {
            font-style: normal !important;
            color: inherit !important;
        }

html body .breadcrumb-strip.breadcrumb-strip {
    padding: var(--s-6) 0 var(--s-3) !important;
    background: transparent !important;
    border: 0 !important;
}

    html body .breadcrumb-strip .breadcrumb {
        gap: 0 var(--s-2) !important;
        font-size: var(--text-xs) !important;
        letter-spacing: .12em !important;
    }

html body .breadcrumb {
    font-family: var(--ff-body) !important;
    font-size: var(--text-xs) !important;
    font-weight: 600 !important;
    letter-spacing: .16em !important;
}

    html body .breadcrumb :is(a, .current) {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }

html body .v2-lead {
    max-width: 62ch;
}


/*  Section: Sections: one system for every template .v2-sec is a block of the page: padding of one section above and below, the page's tan texture, white or charcoal. Two neighbours of the same tone get a content-width hairline between them, so the space above and below the line is equal.
-------------------------------------------*/

html body .v2-sec {
    padding: var(--v2-section) 0;
    position: relative;
}

html body .v2-tone-white {
    background: var(--color-white);
}

html body .v2-tone-dark {
    color: var(--color-on-dark-2);
    background: var(--anchor) url(../img/textures/concrete-charcoal.webp) 0 0 / 768px repeat;
    --color-ink: var(--color-on-dark);
    --color-text: var(--color-on-dark-2);
    --color-muted: var(--color-on-dark-3);
    --color-line: var(--color-cream-20);
    --color-line-strong: var(--color-cream-35);
    --blue: var(--color-blue-light);
}

    html body .v2-tone-dark .eq-card {
        --color-ink: var(--color-ink-fixed);
        --color-text: var(--color-text-fixed);
        --color-muted: var(--color-muted-fixed);
        --color-line: var(--color-line-fixed);
        --color-line-strong: var(--color-line-strong-fixed);
        --blue: var(--color-blue-band);
    }

html body :is(.v2-tone-tan + .v2-tone-tan, .v2-tone-white + .v2-tone-white):not(.v2-join, .v2-sec-cta)::before {
    top: 0;
    left: max(var(--v2-gutter), calc((100% - var(--v2-container)) / 2));
    right: max(var(--v2-gutter), calc((100% - var(--v2-container)) / 2));
    height: 1px;
    content: "";
    background: var(--color-line-strong);
    position: absolute;
}

html body .hero.v2-hero.v2-hero:has(+ :is(.v2-tone-tan, .v2-sec-cta)) {
    padding-bottom: var(--v2-section) !important;
}

html body .v2-sec-bleed {
    padding-bottom: 0;
}

html body .v2-sec-cta {
    padding: var(--v2-section) 0;
}

    html body .v2-tone-tan:not(.v2-sec-cta) + .v2-sec-cta {
        padding-top: 0;
    }

html body .v2-sec-cta:has(+ .v2-tone-tan) {
    padding-bottom: 0;
}

    html body .v2-sec-cta + .v2-tone-tan::before {
        display: none;
    }

html body .v2-sec.v2-join {
    padding-top: 0;
}

html body .v2-sec:has(+ .v2-join) {
    padding-bottom: var(--s-9);
}

    html body .v2-sec .v2-head {
        margin-bottom: clamp(28px, 3vw, 40px);
    }

    html body .v2-sec .v2-row {
        display: grid;
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        gap: 0 var(--s-11);
        align-items: start;
    }

        html body .v2-sec .v2-row .v2-head {
            margin-bottom: 0;
        }

        html body .v2-sec .v2-row .v2-prose {
            max-width: 72ch;
        }

    html body .v2-sec .v2-row:is(.v2-kit, .v2-page-faq, .v2-row-legal) {
        display: block;
    }

        html body .v2-sec .v2-row:is(.v2-kit, .v2-page-faq, .v2-row-legal) .v2-head {
            margin-bottom: clamp(28px, 3vw, 40px);
        }

    html body .v2-sec .v2-row.v2-row-long {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--s-8) 0;
    }

        html body .v2-sec .v2-row-long .v2-prose {
            max-width: none;
            column-count: 2;
            column-gap: var(--s-11);
        }

            html body .v2-sec .v2-row-long .v2-prose > :first-child {
                margin-top: 0;
            }

            html body .v2-sec .v2-row-long .v2-prose :is(h2, h3, h4) {
                break-after: avoid;
            }

            html body .v2-sec .v2-row-long .v2-prose :is(li, blockquote, table) {
                break-inside: avoid;
            }

html body .v2-prose {
    max-width: 68ch;
    font-size: var(--v2-body);
    line-height: 1.75;
    color: var(--color-text);
}

        html body .v2-prose > * + * {
            margin-top: 1em;
        }

    html body .v2-prose > :last-child {
        margin-bottom: 0;
    }

    html body .v2-prose p {
        margin: 0;
    }

        html body .v2-prose p + p {
            margin-top: 1em;
        }

    html body .v2-prose :is(h2, h3, h4) {
        margin: 1.6em 0 .5em;
        color: var(--color-ink);
        line-height: 1.15;
    }

    html body .v2-prose h2 {
        font-size: clamp(1.6rem, 1.3rem + 1vw, 2.2rem);
    }

    html body .v2-prose h3 {
        font-size: clamp(1.3rem, 1.15rem + .5vw, 1.6rem);
    }

    html body .v2-prose strong {
        color: var(--color-ink);
        font-weight: 600;
    }

    html body .v2-prose a {
        color: var(--blue);
        text-decoration: underline;
        text-underline-offset: 3px;
        text-decoration-thickness: 1px;
    }

    html body .v2-prose ul,
    html body .v2-prose ol {
        margin: 1em 0 0;
        padding: 0 0 0 1.2em;
    }

    html body .v2-prose ol {
        counter-reset: v2-step;
        margin: 0;
        padding: 0;
        list-style: none;
    }

        html body .v2-prose ol > li {
            margin: 0;
            padding: var(--s-5) 0 var(--s-5) var(--s-10);
            border-bottom: 1px solid var(--color-line);
            counter-increment: v2-step;
            position: relative;
        }

        html body .v2-prose ol > li:first-child {
            padding-top: 0;
        }

        html body .v2-prose ol > li:last-child {
            padding-bottom: 0;
            border-bottom: 0;
        }

        html body .v2-prose ol > li::before {
            top: var(--s-5);
            left: 0;
            content: counter(v2-step);
            font-family: var(--v2-serif);
            font-size: var(--text-4xl);
            line-height: 1;
            color: var(--blue);
            position: absolute;
        }

        html body .v2-prose ol > li:first-child::before {
            top: 0;
        }

    html body .v2-prose ul {
        padding-left: 0;
        list-style: none;
    }

        html body .v2-prose ul li {
            padding: 0 0 0 1.8em !important;
            margin: 0 0 .6em !important;
            border: 0 !important;
            background: none !important;
            position: relative;
        }

        html body .v2-prose ul li::before {
            left: 0 !important;
            top: .45em !important;
            width: 1.1em !important;
            height: 1.1em !important;
            content: "" !important;
            border-radius: 0 !important;
            background: var(--blue) !important;
            border: 0 !important;
            -webkit-mask: url(../icons/check.svg) center / contain no-repeat;
            mask: url(../icons/check.svg) center / contain no-repeat;
            transform: none !important;
            position: absolute !important;
        }

        html body .v2-prose li + li {
            border-top: 0 !important;
        }

    html body .v2-prose blockquote {
        margin: 1.4em 0;
        padding: 0;
        font-family: var(--v2-serif);
        font-size: 1.3rem;
        color: var(--color-ink);
    }

    html body .v2-prose blockquote::before {
        width: var(--s-8);
        height: var(--s-8);
        display: block;
        margin-bottom: var(--s-3);
        content: "";
        background: var(--blue);
        -webkit-mask: url(../icons/quotes.svg) center / contain no-repeat;
        mask: url(../icons/quotes.svg) center / contain no-repeat;
    }

    html body .v2-prose table {
        width: 100%;
        font-size: .95em;
        border-collapse: collapse;
    }

    html body .v2-prose :is(th, td) {
        padding: var(--s-3) var(--s-3) var(--s-3) 0;
        text-align: left;
        vertical-align: top;
        border-bottom: 1px solid var(--color-line);
    }

    html body .v2-row-legal .v2-prose {
        max-width: 72ch;
    }

html body .v2-feats {
    display: grid;
    gap: var(--s-8) var(--s-7);
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    margin: 0;
    padding: 0;
    list-style: none;
}

html body .v2-callout {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 28px 56px;
    margin: 0;
    padding: clamp(32px, 4.5vw, 64px);
    color: var(--color-on-dark-2);
    background: var(--blue) url(../img/textures/herringbone-blue.webp) 0 0 / 1024px repeat;
    border-radius: 0;
}

    html body .v2-statement .v2-statement-text {
        margin-bottom: 0;
    }

    html body .v2-statement-text h2 {
        margin: 0;
    }

        html body .v2-statement-text h2 em {
            font-style: normal;
            color: inherit;
        }

    html body .v2-statement-text p {
        max-width: 62ch;
        margin: var(--s-5) 0 0;
        font-size: var(--v2-lead);
        line-height: 1.65;
        color: var(--color-text);
    }

html body .v2-callout-text {
    max-width: 80ch;
    flex: 1 1 420px;
}

    html body .v2-callout-text :is(h2, h3, h4) {
        margin: 0 0 var(--s-3);
        color: var(--color-on-dark) !important;
        font-size: clamp(1.6rem, 1.3rem + 1vw, 2.2rem) !important;
        line-height: 1.12;
    }

    html body .v2-callout-text p {
        margin: 0;
        color: var(--color-on-dark-2);
        font-size: var(--v2-lead);
        line-height: 1.6;
    }

    html body .v2-callout-text em {
        font-style: normal;
        color: inherit;
    }

    html body .v2-page-faq .v2-faq-list {
        display: grid;
        gap: 0 72px;
    }

    html body .v2-page-faq .v2-faq-list {
        grid-template-columns: 1fr 1fr;
        align-items: start;
    }

    html body .v2-page-faq .v2-faq-a {
        font-size: var(--text-md);
        line-height: 1.7;
        color: var(--color-text);
    }

        html body .v2-page-faq .v2-faq-a a {
            color: var(--blue);
            text-decoration: underline;
            text-underline-offset: 3px;
        }

html body .v2-kit-layer {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    margin: var(--s-9) 0 var(--s-5) !important;
    font-family: var(--ff-body) !important;
    font-size: var(--text-xs) !important;
    font-weight: 600 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase;
    color: var(--blue) !important;
}

    html body .v2-kit-layer .ph {
        font-size: var(--text-3xl);
    }

    html body .v2-kit .equipment-grid {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
        gap: 0 var(--s-6) !important;
        overflow: visible !important;
        transform: none !important;
    }

    html body .v2-kit .eq-card {
        all: unset;
        width: auto !important;
        display: grid;
        grid-row: span 3;
        grid-template-rows: subgrid;
        row-gap: 0;
        align-self: stretch;
        box-sizing: border-box;
        padding: var(--s-6);
        text-align: left;
        border: 1px solid var(--color-line);
        border-top-color: var(--color-line-strong);
        background: var(--color-white);
        cursor: pointer;
    }

        html body .v2-kit .eq-card .eq-layer {
            margin: 0 0 var(--s-3);
            padding-right: var(--s-8);
            font-size: var(--text-xs);
            font-weight: 600;
            letter-spacing: .16em;
            text-transform: uppercase;
            color: var(--color-muted);
        }

        html body .v2-kit .eq-card h4 {
            margin: 0 0 var(--s-2);
            font-family: var(--v2-serif);
            font-weight: 400;
            font-size: var(--v2-card-title);
            line-height: 1.2;
            color: var(--color-ink);
        }

        html body .v2-kit .eq-card .eq-sub {
            margin: 0;
            font-size: var(--text-sm);
            line-height: 1.6;
            color: var(--color-text);
        }

        html body .v2-kit .eq-card:hover h4 {
            color: var(--blue);
        }

    html body .v2-kit .eq-card:focus-visible {
        outline: 2px solid var(--blue);
        outline-offset: 4px;
    }

            html body.v2-editorial .v2-kit .eq-card .v2-card-go {
                top: var(--s-5);
                right: var(--s-5);
                width: var(--s-7);
                height: var(--s-7);
                margin: 0;
                color: var(--color-ink) !important;
                border: 0 !important;
                background: none !important;
                pointer-events: none;
                position: absolute;
            }

                html body.v2-editorial .v2-kit .eq-card .v2-card-go .ph {
                    font-size: var(--text-xl);
                }

            html body.v2-editorial .v2-kit .eq-card:is(:hover, :focus-visible) .v2-card-go {
                color: var(--blue) !important;
            }

    html body .v2-kit :is(.carousel-nav, .carousel-dots, .eq-nav, .equipment-nav, .swiper-button-prev, .swiper-button-next, .swiper-pagination) {
        display: none !important;
    }

html body .eq-modal-close {
    width: 44px !important;
    height: 44px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: var(--v2-r-btn) !important;
    border: 1px solid var(--color-ink) !important;
    background: var(--bg) !important;
}

html body .v2-related {
    border-top: 0;
}

    html body .v2-related .v2-cards,
    html body .v2-archive-grid {
        margin: 0;
        padding: 0;
        list-style: none;
    }

html body .v2-archive-grid {
    grid-template-columns: repeat(3, 1fr) !important;
}

html body .v2-archive-grid {
    gap: var(--s-9) var(--s-7) !important;
}

html body .archive-card.is-hidden {
    display: none !important;
}

html body .v2-latest {
    max-width: 820px;
    margin: 0 0 var(--v2-section);
}

    html body .v2-latest .v2-card-meta {
        display: flex;
        flex-wrap: wrap;
        gap: var(--s-1) var(--s-5);
        margin: 0 0 var(--s-4);
        font-size: var(--text-xs);
        letter-spacing: .12em;
        text-transform: uppercase;
        font-weight: 600;
        color: var(--color-muted);
    }

        html body .v2-latest .v2-card-meta span:first-child {
            color: var(--blue);
        }

    html body .v2-latest h2 {
        margin: 0 0 var(--s-5);
        font-size: var(--v2-h2) !important;
        line-height: 1.06;
    }

        html body .v2-latest h2 a {
            color: var(--color-ink);
            text-decoration: none;
        }

        html body .v2-latest h2 a:hover {
            color: var(--blue);
        }

    html body .v2-latest .v2-lead {
        margin-bottom: var(--s-6);
    }

html body .v2-archive-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-5) var(--s-7);
    padding-top: var(--v2-section);
    margin: 0 0 var(--s-9);
    border-top: 1px solid var(--color-line-strong);
}

html body .v2-archive-filters {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-3);
}

html body .archive-pill {
    min-height: 44px;
    padding: 0 var(--s-4);
    font-family: var(--ff-body);
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--color-ink) !important;
    border: 1px solid var(--color-line-strong) !important;
    border-radius: var(--v2-r-btn) !important;
    background: none !important;
    box-shadow: none !important;
    cursor: pointer;
}

html body .archive-pill.is-active {
    color: var(--color-white) !important;
    border-color: var(--color-ink) !important;
    background: var(--color-ink) !important;
}

html body .archive-pill-count {
    margin-left: 2px;
    font-size: var(--text-xs);
    font-weight: 500;
    opacity: .6;
}

html body .v2-archive-tools {
    display: flex;
    gap: var(--s-3);
    flex-wrap: wrap;
}

html body .v2-archive-search {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    padding: 0 var(--s-3);
    border: 1px solid var(--color-line-strong);
    border-radius: var(--v2-r-btn);
    background: var(--color-white);
}

    html body .v2-archive-search input {
        min-width: 180px;
        padding: 0 !important;
        font: inherit;
        font-size: var(--text-md);
        border: 0 !important;
        outline: 0;
        background: none !important;
        box-shadow: none !important;
    }

html body .v2-archive-sort {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    font-size: var(--text-xs);
    color: var(--color-muted);
}

    html body .v2-archive-sort select {
        min-height: 44px;
        padding: 0 var(--s-3);
        font: inherit;
        font-size: var(--text-md);
        color: var(--color-ink);
        border: 1px solid var(--color-line-strong);
        border-radius: var(--v2-r-btn);
        background: var(--color-white);
    }

html body .v2-post-hero {
    padding: clamp(56px, 6vw, 104px) 0 clamp(36px, 4vw, 56px);
}

    html body .v2-post-hero .v2-post-meta {
        display: flex;
        flex-wrap: wrap;
        gap: var(--s-1) var(--s-5);
        margin: 0 0 var(--s-5);
        font-size: var(--text-xs);
        letter-spacing: .12em;
        text-transform: uppercase;
        font-weight: 600;
        color: var(--color-muted);
    }

        html body .v2-post-hero .v2-post-meta span:first-child {
            color: var(--blue);
        }

        html body.v2-editorial .v2-post-hero h1 {
            margin: 0 0 var(--s-6) !important;
            font-size: var(--v2-h1) !important;
            line-height: 1.04 !important;
            color: var(--color-ink) !important;
            text-wrap: wrap;
        }

    html body .v2-post-hero .v2-hero-dek {
        max-width: 60ch;
        margin: 0;
    }

html body .v2-post.v2-sec {
    padding-top: 0;
}

    html body .v2-post :is(.v2-prose, .v2-post-share, .v2-author) {
        max-width: 46rem;
    }

    html body .v2-post .v2-prose {
        margin: 0;
    }

    html body .v2-post .blog-intro {
        margin-bottom: 1.4em;
        font-size: var(--v2-lead);
        color: var(--color-ink);
    }

html body .v2-post-share {
    max-width: 68ch;
    display: flex;
    align-items: center;
    gap: var(--s-5);
    flex-wrap: wrap;
    margin: var(--v2-section) 0 0;
    padding-top: var(--s-7);
    border-top: 1px solid var(--color-line-strong);
}

    html body .v2-post-share .v2-label {
        margin: 0 !important;
    }

html body .v2-share-buttons {
    display: flex;
    gap: var(--s-3);
}

    html body .v2-share-buttons .share-btn {
        width: 44px;
        height: 44px;
        display: grid;
        place-items: center;
        padding: 0;
        color: var(--color-ink) !important;
        border: 1px solid var(--color-ink) !important;
        border-radius: var(--v2-r-btn) !important;
        background: var(--bg) !important;
        box-shadow: none !important;
        cursor: pointer;
    }

        html body .v2-share-buttons .share-btn .ph {
            font-size: var(--text-lg);
        }

    html body .v2-share-buttons .share-btn:hover {
        color: var(--color-white) !important;
        background: var(--color-ink) !important;
    }

html body .v2-author {
    max-width: 68ch;
    display: flex;
    gap: var(--s-6);
    align-items: flex-start;
    margin: var(--s-8) 0 0;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body .v2-author-photo {
    width: 88px;
    height: 88px;
    object-fit: cover;
    flex: none;
    border-radius: var(--v2-r-btn);
}

    html body .v2-author h2 {
        margin: var(--s-1) 0 var(--s-2);
        font-size: 1.4rem !important;
        color: var(--color-ink);
    }

html body .v2-author-intro {
    font-size: var(--text-md);
    line-height: 1.7;
    color: var(--color-text);
}

html body .v2-author-creds {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2) var(--s-5);
    margin: var(--s-4) 0 0;
    padding: 0;
    list-style: none;
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--color-muted);
}

    html body .v2-kit .eq-card {
        position: relative;
    }

    html body .v2-callout-text a {
        color: var(--color-on-dark) !important;
        text-decoration: underline !important;
        text-underline-offset: 3px;
    }

    html body .v2-prose .v2-prose-button {
        margin: 1.6em 0 0 !important;
        line-height: 1 !important;
    }

        html body .v2-prose .v2-prose-button a {
            min-height: 52px;
            display: inline-flex;
            align-items: center;
            gap: var(--s-3);
            padding: 0 var(--s-6);
            color: var(--cta-ink, var(--color-pure-white)) !important;
            text-decoration: none !important;
            font-family: var(--ff-body);
            font-size: var(--v2-cta-size);
            font-weight: 600;
            letter-spacing: .1em;
            text-transform: uppercase;
            border-radius: var(--v2-r-btn);
            background: var(--color-cta);
            box-shadow: var(--v2-cta-shadow);
        }

        html body .v2-prose .v2-prose-button a::after {
            width: 18px;
            height: 18px;
            content: "";
            background: currentColor;
            -webkit-mask: url(../icons/arrow-right.svg) center / contain no-repeat;
            mask: url(../icons/arrow-right.svg) center / contain no-repeat;
        }

        html body .v2-prose .v2-prose-button a:hover {
            background: var(--color-cta-hover);
            box-shadow: var(--v2-cta-shadow-hover);
        }

    html body .v2-kit .equipment-grid {
        align-items: start !important;
    }

    html body .v2-kit > div:last-child {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

        html body .v2-kit > div:last-child .eq-card {
            margin-bottom: 0 !important;
        }

    html body .v2-kit .eq-card {
        min-height: 0 !important;
        height: auto !important;
        display: grid !important;
        justify-content: flex-start !important;
        margin: 0 0 var(--s-6) !important;
    }


/*  Section: Hover
-------------------------------------------*/

html body :is(a.v2-card, .v2-svc) {
    transition: all ease 0.4s;
}

html body :is(a.v2-card, .v2-svc):is(:hover, :focus-visible) {
    border-top-color: var(--blue);
}

    html body .v2-kit .eq-card {
        transition: all ease 0.4s;
    }

    html body .v2-kit .eq-card:is(:hover, :focus-visible) {
        border-top-color: var(--blue);
        box-shadow: var(--v2-card-shadow);
        transform: translateY(-2px);
    }

html body :is(.v2-paths-copy .v2-link, .v2-more .v2-link):is(:hover, :focus-visible) {
    transform: translateY(-1px);
}

html body :is(.v2-paths-copy .v2-link, .v2-more .v2-link):active {
    transform: translateY(1px);
}


/*  Section: Feature Items
-------------------------------------------*/

        html body .v2-feats .v2-card h3 {
            font-size: var(--v2-card-title) !important;
        }

html body .v2-feats:has(> li:nth-child(6):last-child) {
    grid-template-columns: repeat(3, 1fr);
}

html body .v2-feat-icon {
    display: block;
    margin: 0 0 var(--s-4);
    font-size: var(--text-4xl);
    line-height: 1;
    color: var(--blue);
}

        html body .v2-feats .v2-card p {
            display: block;
            overflow: visible;
            -webkit-line-clamp: unset;
        }


/*  Section: Instrument Cards
-------------------------------------------*/

    html body .v2-kit .eq-card::after {
        content: none !important;
    }

        html body .v2-kit .eq-card .eq-cta {
            display: block;
            margin: var(--s-4) 0 0;
            font-size: var(--text-xs);
            font-weight: 600;
            letter-spacing: .12em;
            color: var(--blue);
        }


/*  Section: Blog Components
-------------------------------------------*/

    html body .blog-body :is(.blog-pullquote, blockquote) {
        margin: var(--s-9) 0;
        padding: var(--s-6) 0;
        border: 0;
        border-top: 1px solid var(--color-line-strong);
        border-bottom: 1px solid var(--color-line-strong);
        border-radius: 0;
        background: none;
    }

        html body .blog-body :is(.blog-pullquote, blockquote) p {
            font-family: var(--v2-serif);
            font-size: var(--text-2xl) !important;
            font-weight: 400;
            line-height: 1.3 !important;
            letter-spacing: 0;
            color: var(--color-ink);
        }

            html body .blog-body :is(.blog-pullquote, blockquote) p em {
                font-family: inherit;
                font-style: italic;
                font-weight: 400;
                color: var(--blue);
            }

    html body .blog-body .blog-fieldnote {
        margin: var(--s-8) 0;
        padding: var(--s-5) var(--s-6);
        border: 1px solid var(--color-line);
        border-radius: 0;
        background: var(--color-white);
    }

        html body .blog-body .blog-fieldnote .fn-label {
            margin: 0 0 var(--s-2);
            font-family: var(--ff-body);
            font-size: var(--text-xs);
            font-weight: 600;
            letter-spacing: .16em;
            text-transform: uppercase;
            color: var(--blue);
        }

        html body .blog-body .blog-fieldnote p {
            margin: 0;
            font-size: var(--text-md) !important;
            line-height: 1.6 !important;
            color: var(--color-text);
        }

        html body .blog-body .blog-inline-cta a:not(.btn) {
            color: var(--color-on-dark) !important;
            text-decoration: underline;
            text-underline-offset: 3px;
        }

    html body .blog-body .blog-inline-cta {
        margin: var(--s-9) 0;
        padding: var(--s-7) var(--s-8);
        color: var(--color-on-dark-2);
        border-radius: 0;
        background: var(--color-blue-band) url(../img/textures/herringbone-blue.webp) 0 0 / 1024px repeat;
    }

        html body .blog-body .blog-inline-cta :is(h3, h4) {
            margin: 0 0 var(--s-2);
            font-family: var(--v2-serif);
            font-size: var(--text-2xl);
            font-weight: 400;
            letter-spacing: 0;
            color: var(--color-on-dark);
        }

            html body .blog-body .blog-inline-cta :is(h3, h4) em {
                font-family: inherit;
                font-style: italic;
                font-weight: 400;
                color: inherit;
            }

        html body .blog-body .blog-inline-cta p {
            font-size: var(--text-md) !important;
            color: var(--color-on-dark-2);
        }


/*  Section: Reviews
-------------------------------------------*/

html body .v2-reviews {
    margin-top: clamp(48px, 5vw, 80px);
}

    html body .v2-reviews .v2-reviews-row {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    html body .v2-reviews .swiper-slide {
        height: auto;
        position: relative;
    }

        html body .v2-reviews .swiper-slide:not(:last-child)::after {
            top: 0;
            right: -24px;
            bottom: 0;
            width: 1px;
            content: "";
            background: var(--color-line);
            position: absolute;
        }


/*  Responsive
-------------------------------------------*/

    /*
     *  Shared Components
     */
@media (max-width: 1340px)
{
    html body .v2-tagline { display: none !important; }
    html body .topbar-nav a, html body .topbar-nav .nav-trigger { padding: var(--s-3) var(--s-3) !important; letter-spacing: .06em !important; }
    html body .topbar-actions .btn { padding: 0 var(--s-5) !important; }
}

@media (max-width: 1240px)
{
    html body .topbar-inner { gap: var(--s-2) !important; padding-left: var(--s-5) !important; padding-right: var(--s-5) !important; }
}

@media (max-width: 1180px)
{
    html body .v2-tagline { display: block !important; }
    html body .topbar-inner { gap: var(--s-4) !important; padding-left: var(--v2-gutter) !important; padding-right: var(--v2-gutter) !important; }
    html body .topbar-lockup { gap: var(--s-3) !important; min-width: 0; }
    html body .topbar-lockup .mark { width: 58px !important; }
    html body .topbar-wordmark { font-size: var(--text-md) !important; letter-spacing: .05em !important; }
    html body .topbar { background: var(--bg) url(../img/textures/travertine-cream.webp) 0 0 / 1024px repeat !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; border-bottom: 1px solid var(--line-2, var(--color-ink-deep-12)) !important; box-shadow: 0 1px 0 var(--color-ink-deep-06) !important; }
    html body .topbar-inner { min-height: 0; padding-top: var(--s-4) !important; padding-bottom: var(--s-4) !important; }
}

@media (max-width: 767px)
{
    html body .foot-col h3 { margin-bottom: var(--s-3) !important; }
    html body .topbar { background: var(--bg) url(../img/textures/travertine-cream.webp) 0 0 / 1024px repeat !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
    html body .topbar-inner { padding-left: max(var(--s-5), env(safe-area-inset-left, 20px)) !important; padding-right: max(var(--s-5), env(safe-area-inset-right, 20px)) !important; }
}

@media (max-width: 767px)
{
    html body .topbar-inner { padding-top: var(--s-3) !important; padding-bottom: var(--s-3) !important; }
}

@media (max-width: 767px)
{
    html body .utility-bar-item { font-size: var(--text-xs) !important; letter-spacing: 0 !important; }
    html body .topbar-lockup .mark { width: 50px !important; }
    html body .topbar-wordmark { font-size: var(--text-sm) !important; letter-spacing: .04em !important; }
}

@media (max-width: 767px)
{
    html body .topbar-inner { padding-left: var(--s-4) !important; padding-right: var(--s-4) !important; }
}

@media (max-width: 1180px)
{
    html { scroll-padding-top: var(--v2-topbar-h, 69px); }
    html body .topbar { top: 0 !important; right: 0 !important; left: 0 !important; position: fixed !important; }
    html body .utility-bar { margin-top: var(--v2-topbar-h, 69px); }
}

@media (max-width: 767px)
{
    html body .v2-tagline-lead { display: none; }
    html body .topbar-lockup { flex: 1 1 0 !important; }
    html body .v2-lockup-text { min-width: 0; }
    html body .v2-tagline { white-space: normal; }
    html body .utility-bar-inner { flex-wrap: wrap !important; justify-content: center; gap: 2px var(--s-4) !important; }
    html body .utility-bar-item { white-space: nowrap; }
}

@media (max-width: 767px)
{
    html body .topbar-lockup { gap: var(--s-2) !important; }
    html body .topbar-lockup .mark { width: 44px !important; }
    html body .topbar-wordmark { font-size: clamp(12px, 3.5vw, 14px) !important; letter-spacing: .03em !important; }
    html body .topbar .topbar-hamburger { padding: 0 var(--s-3) 0 var(--s-8) !important; }
}

    /*
     *  Home Page
     */
@media (max-width: 1023px)
{
    .v2-bleed { grid-template-columns: [full-start] var(--v2-gutter) [content-start] minmax(0, 1fr) [content-end] var(--v2-gutter) [full-end]; }
    .v2-head-row { grid-template-columns: none; align-items: normal; gap: var(--s-5); }
}

    /*
     *  Home: Opening
     */
@media (max-width: 1023px)
{
    .v2-hero-text { grid-column: content-start / content-end; padding: var(--s-8) 0 44px; }
    .v2-hero-media { grid-column: full-start / full-end; min-height: 0; aspect-ratio: 4 / 3; border-radius: 0; }
}

@media (max-width: 767px)
{
    .v2-hero-media { aspect-ratio: 1 / 1; }
}

@media (max-width: 1023px)
{
    html body .v2-page-hero .v2-hero-media, html body .breadcrumb-strip + .v2-page-hero .v2-hero-media { min-height: 0; margin-top: 0; }
}

    /*
     *  Home: Recognition
     */
@media (max-width: 1023px)
{
    .v2-paths-panels { grid-template-columns: 1fr 1fr; gap: var(--s-9) 28px; }
    .v2-js .v2-paths { grid-template-columns: none; gap: var(--s-8); }
    .v2-js .v2-paths-tabs { display: none; flex-direction: row; gap: normal; margin-top: 0; }
    .v2-js .v2-paths-panel { grid-area: auto; visibility: visible; opacity: 1; }
    .v2-js .v2-paths-copy h3 { display: block; }
    .v2-js .v2-paths-copy { align-items: normal; justify-content: normal; gap: normal; }
    .v2-js .v2-paths-copy .v2-link { flex: 0 1 auto; }
}

@media (max-width: 767px)
{
    .v2-paths-panels { grid-template-columns: none; gap: var(--s-9); }
}

    /*
     *  Home: Why Kit
     */
@media (max-width: 1023px)
{
    .v2-bleed-left .v2-about-media { grid-column: full-start / full-end; min-height: 0; aspect-ratio: 4 / 3; border-radius: 0; }
    .v2-about-body { grid-column: content-start / content-end; padding: 44px 0 var(--v2-section); }
}

    /*
     *  Home: How It Works
     */
@media (max-width: 1023px)
{
    .v2-how-layout { grid-template-columns: none; gap: var(--s-8); align-items: normal; }
}

@media (max-width: 767px)
{
    html body .v2-tagline { white-space: normal; line-height: 1.25; }
    .v2-step { grid-template-columns: 40px 1fr; gap: var(--s-4); padding: var(--s-6); }
    .v2-step-num { width: 40px; height: 40px; font-size: var(--text-md); }
}

    /*
     *  Home: Services
     */
@media (max-width: 767px)
{
    .v2-svc { grid-template-columns: none; padding: var(--s-4); }
    .v2-svc-media { aspect-ratio: 16 / 10; }
}

    /*
     *  Home: Proof
     */
@media (max-width: 1023px)
{
    .v2-case-panel { grid-template-columns: none; }
}

    /*
     *  Home: Credentials
     */
@media (max-width: 1023px)
{
    .v2-cred-layout { grid-template-columns: none; gap: var(--s-7); }
    .v2-logos { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 767px)
{
    html body .v2-logos img { width: 64px !important; height: 64px !important; }
}

    /*
     *  Home: Free Guide Rail
     */
@media (max-width: 1360px)
{
    .v2-rail-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 640px); }
    html body .v2-rail .hf-foot { font-size: var(--text-xs) !important; }
    html body .v2-guide :is(.gform_wrapper, #v2-boost) .gform_footer .gform_button { padding: 0 var(--s-6) !important; }
}

@media (max-width: 1180px)
{
    html body.v2-has-rail footer { padding-bottom: var(--s-8) !important; }
    .v2-rail { padding-top: var(--s-3); padding-bottom: calc(var(--s-3) + env(safe-area-inset-bottom, 0px)); }
    .v2-rail-inner { grid-template-columns: none; gap: var(--s-3); }
    .v2-rail:not(.is-open) .hf-foot, .v2-rail:not(.is-open) .gform_body { display: none; }
}

@media (max-width: 767px)
{
    .v2-rail-inner { --v2-cover-w: 60px; grid-template-columns: var(--v2-cover-w) minmax(0, 1fr); gap: var(--s-2) var(--s-4); align-items: start; }
    .v2-rail-text { --v2-cover-w: 60px; display: contents; }
    .v2-rail-cover { grid-column: 1; grid-row: 1 / span 2; padding: 3px; position: static; }
    .v2-rail-cover-words { padding: var(--s-1) 0 2px; gap: 1px; }
    .v2-rail-cover-lead { font-size: 7px; letter-spacing: .06em; }
    .v2-rail-cover-title { font-size: var(--text-xs); }
    .v2-rail-close { top: calc(-1 * var(--s-2)); right: auto; bottom: auto; left: calc(var(--v2-cover-w) - var(--s-6) + var(--s-2)); }
    html body .v2-rail-text h2 { grid-column: 2; grid-row: 1; align-self: end; padding: 0; font-size: var(--text-lg); line-height: 1.15; white-space: normal; }
    html body .v2-rail .hf-foot { grid-column: 2; grid-row: 2; margin: 0 !important; }
    html body .v2-rail .start-form-wrap { grid-column: 2; grid-row: 2; align-self: start; }
    .v2-rail.is-open .start-form-wrap { grid-column: 1 / -1; grid-row: 3; }
    .v2-rail form { grid-template-columns: none; }
    html body.v2-editorial .v2-rail .v2-guide :is(.gform_wrapper, #v2-boost) .gform_footer .gform_button { width: auto !important; max-width: 100%; min-height: 44px !important; gap: var(--s-2) !important; padding: 0 var(--s-4) !important; font-size: var(--text-sm) !important; letter-spacing: .08em !important; }
    html body.v2-editorial .v2-rail.is-open .v2-guide :is(.gform_wrapper, #v2-boost) .gform_footer .gform_button { width: 100% !important; font-size: var(--v2-cta-size) !important; letter-spacing: .1em !important; }
    .v2-rail.is-done .v2-rail-cover { display: none; }
    .v2-rail.is-done .v2-rail-inner { grid-template-columns: none; }
    html body .v2-rail.is-done .start-form-wrap { grid-column: 1; grid-row: 1; }
    .v2-rail.is-done .v2-rail-close { top: 0; right: 0; left: auto; }
}

@media (max-width: 767px)
{
    html body.v2-editorial .v2-rail:not(.is-open) .v2-guide :is(.gform_wrapper, #v2-boost) .gform_footer .gform_button::after { display: none !important; }
}

    /*
     *  Phones: Call to Action Buttons and Filter Chips
     */
@media (max-width: 767px)
{
    html body .v2-post .blog-body p, html body .v2-post .blog-body li { font-size: var(--text-md) !important; line-height: 1.7 !important; }
    html body .v2-post .blog-body h2 { margin-top: var(--s-9); }

    html body :is(main, .consult) .js-open-book { display: inline-flex !important; }
    html body .archive-pill { min-height: 44px !important; font-size: var(--text-xs) !important; }
}

@media (max-width: 767px)
{
    html body .v2-prose ol > li { padding-left: var(--s-9); }
    html body .v2-prose ol > li::before { font-size: var(--text-3xl); }
}

    /*
     *  Inner Pages: Content Rows
     */
@media (max-width: 1023px)
{
    html body .v2-sec .v2-row-long .v2-prose { column-count: 1; max-width: 72ch; }
    html body .v2-feats:has(> li:nth-child(6):last-child) { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
    html body .v2-sec .v2-row { grid-template-columns: none; }
    html body .v2-sec .v2-row .v2-head { margin-bottom: clamp(28px, 3vw, 40px); }
}

    /*
     *  Home: Learn More
     */
@media (max-width: 1023px)
{
    html body .v2-reviews { margin-right: calc(-1 * var(--v2-gutter)); }
    html body .v2-reviews .swiper-slide:not(:last-child)::after { right: -10px; }
    .v2-cards { grid-template-columns: none; }
}

    /*
     *  Phone Wrapping, Phone Menu, Booking Popup
     */
@media (max-width: 1180px)
{
    html body .menu-overlay { background: var(--color-ink-45) !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
    html body .mobile-menu { background-image: none !important; color: var(--color-ink) !important; padding: var(--s-6) var(--v2-gutter) calc(28px + env(safe-area-inset-bottom, 0px)) !important; transition: none !important; }
    html body .mobile-menu .mm-top > li, html body .mobile-menu .mm-group { animation: none !important; opacity: 1 !important; transform: none !important; }
    html body .mobile-menu-close { background: transparent !important; color: var(--color-ink) !important; border: 1px solid var(--color-line-strong) !important; box-shadow: none !important; }
    html body .mobile-menu-close::before { font-size: var(--text-3xl); line-height: 1; font-weight: 300; }
    html body .mobile-menu-close:has(.ph)::before { content: none; }
    html body .mobile-menu-logo { color: var(--color-ink) !important; }
    html body .mobile-menu-logo .mark { color: var(--cta) !important; }
    html body .mobile-menu-logo .wordmark { color: var(--color-ink) !important; font-family: var(--ff-display) !important; font-weight: 700 !important; }
    html body .mobile-menu-logo .wordmark em { color: var(--blue) !important; }
    html body .mobile-menu .mm-top, html body .mobile-menu .mm-sub { list-style: none !important; margin: 0 !important; padding: 0 !important; }
    html body .mobile-menu .mm-top > li > a, html body .mobile-menu .mm-group > summary { display: flex !important; align-items: center !important; border: 0 !important; background: none !important; font-family: var(--v2-serif, Georgia, serif) !important; font-weight: 400 !important; line-height: 1.15 !important; letter-spacing: -0.01em !important; text-transform: none !important; color: var(--color-ink) !important; text-decoration: none !important; }
    html body .mobile-menu .mm-group > summary::-webkit-details-marker { display: none; }
    html body .mobile-menu .mm-group > summary::after { content: "" !important; width: 22px !important; height: 22px !important; border: 0 !important; transform: none !important; margin: 0 !important; background: var(--color-ink) !important; -webkit-mask: url(../icons/caret-down.svg) center / contain no-repeat; mask: url(../icons/caret-down.svg) center / contain no-repeat; }
    html body .mobile-menu .mm-group[open] > summary { color: var(--blue) !important; }
    html body .mobile-menu .mm-group[open] > summary::after { background: var(--blue) !important; transform: rotate(180deg) !important; }
    html body .mobile-menu .mm-group { border: 0 !important; }
    html body .mobile-menu .mm-sub a { border: 0 !important; font-family: var(--ff-body) !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--color-text) !important; text-decoration: none !important; }
    html body .mobile-menu .mm-sub li:last-child a { color: var(--blue) !important; font-weight: 600 !important; }
    html body .mobile-menu .mm-actions { display: grid; }
    html body .mobile-menu .mm-actions .mobile-menu-cta { display: flex !important; align-items: center !important; justify-content: center !important; gap: var(--s-3) !important; }
    html body .mobile-menu .mobile-menu-cta { margin: 0 !important; border-radius: var(--v2-r-btn) !important; background: var(--color-cta) !important; color: var(--cta-ink) !important; font-family: var(--ff-body) !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; }
    html body .mobile-menu .mobile-menu-phone { margin: 0 !important; flex-direction: row !important; align-items: center !important; justify-content: center !important; gap: var(--s-3) !important; }
    html body .mobile-menu .mm-phone-label { display: none !important; }
    html body .mobile-menu .mm-phone-num { display: inline-flex !important; align-items: center; font-family: var(--ff-body) !important; letter-spacing: 0 !important; color: var(--color-ink) !important; }
    html body .mobile-menu .mm-phone-num .ph { font-size: var(--text-xl); color: var(--blue); }
}

@media (max-width: 1023px)
{
    html body .consult .wrap { padding-left: var(--v2-gutter) !important; padding-right: var(--v2-gutter) !important; }
    html body .consult-band { padding: 0 !important; margin: 0 !important; }
    html body .consult-left h3 { font-size: clamp(2rem, 1.5rem + 2.4vw, 2.6rem) !important; }
    html body .consult-left p { font-size: 1.08rem !important; }
}

@media (max-width: 1023px)
{
    .v2-modal-grid { display: block; grid-template-columns: none; }
    .v2-modal-aside { background: none; position: static; }
    html body .book-modal-card { width: 100% !important; max-width: none !important; height: 100dvh !important; max-height: none !important; border-radius: 0 !important; margin: 0 !important; }
    .v2-modal-aside { display: none; }
    .v2-modal-main { height: 100dvh; overflow-y: auto; padding: 72px var(--v2-gutter) var(--s-7); }
    .v2-modal-grid { max-height: none; }
}

    /*
     *  Textures
     */
@media (max-width: 1180px)
{
    html body .v2-tagline { font-size: var(--text-xs); letter-spacing: .1em; }
    html body .v2-lockup-text { gap: var(--s-1); }
    html body footer { padding-bottom: calc(40px + 88px + env(safe-area-inset-bottom, 0px)) !important; }
}

@media (max-width: 1023px)
{
    .v2-logo-wall { gap: 36px var(--s-3); }
    html body .v2-logo-wall img { width: 112px !important; height: 112px !important; }
    .v2-js .v2-paths-copy p { margin: 0 0 var(--s-5); max-width: 44ch; }
    .v2-js .v2-paths { align-items: normal; }
    .v2-js .v2-paths-panel:not(.is-active) { display: block; }
    html body .v2-faq .v2-faq-list { grid-template-columns: none; align-items: normal; }
    body.v2-editorial .v2-faq-col:first-child .v2-faq-item:last-child { border-bottom: 1px solid var(--color-line); }
    body.v2-editorial .v2-faq-col:first-child .v2-faq-item:last-child summary { padding-bottom: var(--s-6); }
    body.v2-editorial .v2-faq-col:first-child .v2-faq-item:last-child .v2-faq-a { padding-bottom: var(--s-6); }
}

@media (max-width: 767px)
{
    .v2-case-steps { grid-template-columns: none; }
    body.v2-editorial .v2-svc-list { grid-template-columns: none; }
    body.v2-editorial .v2-svc-list { gap: var(--s-9); }
    body.v2-editorial .v2-svc { gap: var(--s-5); }
}

@media (max-width: 767px)
{
    html body .v2-logo-wall img { width: 88px !important; height: 88px !important; }
}

@media (max-width: 767px)
{
    html body .utility-bar-inner { gap: var(--s-1) var(--s-4) !important; flex-wrap: wrap; justify-content: center; }
    html body .v2-tagline { font-size: var(--text-xs); letter-spacing: .06em; }
}

@media (prefers-reduced-motion: reduce)
{
    html body :is(a.v2-card, .v2-svc, .v2-kit .eq-card, .btn, .v2-link):is(:hover, :focus-visible, :active) { transform: none !important; }
    html body .v2-svc .v2-svc-media img { transform: none !important; }
}

    /*
     *  Phone Menu, Footer and Article Cards
     */
@media (max-width: 1180px)
{
    html body .mobile-menu { display: flex !important; flex-direction: column !important; overflow-y: auto !important; }
    html body .mobile-menu .mm-lockup { display: flex; flex-direction: column; line-height: 1; }
    html body .mobile-menu .mm-tagline { font-family: var(--ff-body); font-weight: 600; text-transform: uppercase; color: var(--blue); white-space: normal; }
    html body .mobile-menu-close { top: 24px !important; width: auto !important; border-radius: 999px !important; display: inline-flex !important; align-items: center !important; gap: var(--s-2) !important; font-weight: 600 !important; text-transform: uppercase !important; font-family: var(--ff-body) !important; }
    html body .mobile-menu-close::before { content: none !important; }
    html body .mobile-menu-close .ph { font-size: var(--text-md) !important; }
    html body .mobile-menu .mm-top > li > a, html body .mobile-menu .mm-group > summary { justify-content: flex-start !important; gap: var(--s-4) !important; padding: var(--s-4) 0 !important; font-size: 1.4rem !important; border-bottom: 1px solid var(--color-line) !important; }
    html body .mobile-menu .mm-group > summary::after { margin-left: auto !important; }
    html body .mobile-menu .mm-icon { display: inline-flex; flex: none; width: 22px; height: 22px; color: var(--blue); }
    html body .mobile-menu .mm-icon svg { display: block; width: 100%; height: 100%; }
    html body .mobile-menu .mm-sub { padding: var(--s-2) 0 var(--s-3) 36px !important; border-bottom: 1px solid var(--color-line) !important; }
    html body .mobile-menu .mm-group[open] > summary { border-bottom-color: transparent !important; }
    html body .mobile-menu .mm-sub a { display: flex !important; align-items: center !important; gap: var(--s-3) !important; padding: var(--s-3) 0 !important; font-size: var(--text-md) !important; }
    html body .mobile-menu .mm-sub a::before { width: 18px; height: 18px; background: var(--color-muted); }
    html body .mobile-menu .mm-sub li:last-child a::before { background: var(--blue); }
    html body .mobile-menu .mm-actions { gap: var(--s-3) !important; padding-top: 28px !important; }
    html body .mobile-menu .mobile-menu-cta { min-height: 52px !important; font-size: var(--v2-cta-size) !important; padding: 0 var(--s-3) !important; }
    html body .mobile-menu .mobile-menu-phone { min-height: 52px !important; border: 1px solid var(--color-ink) !important; border-radius: var(--v2-r-btn) !important; padding: 0 var(--s-3) !important; }
    html body .mobile-menu .mm-phone-num { font-size: var(--text-sm) !important; font-weight: 600 !important; gap: var(--s-2) !important; white-space: nowrap; }
    html body .mobile-menu-close { font-size: var(--text-xs) !important; letter-spacing: .1em !important; }
    html body .mobile-menu .mm-actions { grid-template-columns: 1fr !important; }
    html body .mobile-menu { width: min(380px, 88vw) !important; max-width: 88vw !important; background: var(--bg) url(../img/textures/travertine-cream.webp) 0 0 / 1024px repeat !important; padding-left: var(--s-6) !important; padding-right: var(--s-6) !important; }
    html body .mobile-menu-close { right: 22px !important; }
    html body .mobile-menu .mm-photo { overflow: hidden; }
    html body .mobile-menu .mm-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
    html body .mobile-menu .mm-photo + .mm-actions { padding-top: var(--s-4) !important; }
    html body .mobile-menu .mm-photo { margin-top: auto; }
    html body .mobile-menu-close { height: 36px !important; padding: 0 var(--s-3) !important; }
    html body .mobile-menu .mm-photo { aspect-ratio: auto; pointer-events: none; }
    html body .mobile-menu > :not(.mm-photo) { z-index: 1; position: relative; }
    html body .mobile-menu .mobile-menu-close { z-index: 2; position: absolute !important; }
    html body .mobile-menu .mm-actions { margin-top: auto !important; }
    html body .mobile-menu .mobile-menu-phone { background: var(--bg) !important; }
    html body .topbar-hamburger { width: auto !important; padding: 0 var(--s-4) 0 var(--s-8) !important; display: inline-flex !important; align-items: center; }
    html body .topbar-hamburger::after { content: "Menu"; font-family: var(--ff-body); font-size: var(--text-xs); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--color-ink); }
    html body .topbar-hamburger span { left: 13px !important; right: auto !important; width: 18px !important; height: 1.5px !important; }
    html body .topbar-hamburger span:nth-child(1) { top: 15px !important; }
    html body .topbar-hamburger span:nth-child(2) { top: 21px !important; }
    html body .topbar-hamburger span:nth-child(3) { top: 27px !important; }
    html body .mobile-menu .mobile-menu-close { font-size: var(--text-xs) !important; letter-spacing: .12em !important; gap: var(--s-2) !important; }
    html body .mobile-menu .mobile-menu-close { width: 44px !important; padding: 0 !important; justify-content: center !important; }
    html body .mobile-menu .mobile-menu-close span { width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; position: absolute !important; }
    html body .mobile-menu .mobile-menu-close .ph { font-size: var(--text-lg) !important; }
    html body .mobile-menu { padding-bottom: 0 !important; }
    html body .mobile-menu .mm-photo { left: auto; right: auto; bottom: auto; flex: none; height: 340px; margin: auto calc(var(--s-6) * -1) 0 !important; z-index: 0; -webkit-mask-image: linear-gradient(to bottom, transparent 0%, var(--color-black-60) 22%, var(--color-pure-black) 46%); mask-image: linear-gradient(to bottom, transparent 0%, var(--color-black-60) 22%, var(--color-pure-black) 46%); position: relative !important; }
    html body .mobile-menu .mm-photo img { object-position: 50% 12%; }
    html body .mobile-menu .mm-photo + .mm-actions { z-index: 1; flex: none; margin-top: calc(-114px - 24px - env(safe-area-inset-bottom, 0px)) !important; padding: 0 0 calc(24px + env(safe-area-inset-bottom, 0px)) !important; position: relative; }
    html body .mobile-menu .mm-top + .mm-group + .mm-top + .mm-group { margin-bottom: var(--s-2); }
    html body .mobile-menu { padding-top: var(--s-5) !important; }
    html body .mobile-menu .mobile-menu-close { top: 20px !important; right: 22px !important; }
    html body .mobile-menu-logo { height: 44px !important; margin: 0 0 var(--s-6) !important; padding-right: 60px !important; display: flex !important; align-items: center !important; gap: var(--s-3) !important; }
    html body .mobile-menu-logo .mark { width: 40px !important; flex: none; display: flex !important; align-items: center !important; }
    html body .mobile-menu-logo .mark svg { display: block; width: 100%; height: auto; }
    html body .mobile-menu .mm-lockup { justify-content: center; gap: var(--s-1); }
    html body .mobile-menu-logo .wordmark { font-size: var(--text-sm) !important; line-height: 1 !important; letter-spacing: .04em !important; }
    html body .mobile-menu .mm-tagline { font-size: var(--text-xs); line-height: 1.25; letter-spacing: .07em; }
}

@media (max-width: 1023px)
{
    html body .v2-paths-media { aspect-ratio: 16 / 9 !important; }
}

@media (max-width: 1023px)
{
    html body.v2-editorial .v2-cards { gap: 36px !important; }
}

@media (max-width: 767px)
{
    html body footer .foot-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: var(--s-8) var(--s-6) !important; }
    html body footer .foot-grid > :first-child, html body footer .foot-grid > :last-child { grid-column: 1 / -1 !important; }
    html body footer .foot-bottom { flex-direction: column !important; align-items: flex-start !important; gap: var(--s-4) !important; }
}


@media (max-width: 767px)
{
    html body .foot-col h3 { overflow-wrap: anywhere; }
}

    /*
     *  Inner Pages
     */
@media (max-width: 1023px)
{
    html body .v2-page-faq .v2-faq-list { grid-template-columns: none; align-items: normal; }
    body.v2-editorial .v2-page-faq .v2-faq-col:first-child .v2-faq-item:last-child { border-bottom: 1px solid var(--color-line); }
    body.v2-editorial .v2-page-faq .v2-faq-col:first-child .v2-faq-item:last-child summary { padding-bottom: var(--s-6); }
}

@media (max-width: 1023px)
{
    html body .v2-archive-grid { grid-template-columns: none !important; }
}

@media (max-width: 767px)
{
    html body .v2-author { flex-direction: column; gap: var(--s-4); }
}
