:root {
    --bg: #040405;
    --panel: #101013;
    --panel2: #17171b;
    --red: #d20a2e;
    --red2: #7a0017;
    --white: #fff;
    --muted: #b9bac2;
    --line: rgba(255, 255, 255, .12);
    --head: 'Anton', Impact, sans-serif;
    --body: 'Inter', Arial, sans-serif
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--white);
    font-family: var(--body);
    overflow-x: hidden
}

body:before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 70% 0, rgba(210, 10, 46, .13), transparent 35%), linear-gradient(180deg, rgba(255, 255, 255, .015), transparent);
    z-index: -2
}

.ozb-container {
    width: min(1180px, calc(100% - 48px));
    margin: auto
}

.ozb-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 50;
    background: rgba(4, 4, 5, .72);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid var(--line);
    transition: .25s
}

.ozb-header.scrolled {
    background: rgba(4, 4, 5, .91);
    box-shadow: 0 20px 60px rgba(0, 0, 0, .4)
}

.ozb-nav {
    height: 76px;
    display: flex;
    align-items: center;
    gap: 28px
}

.ozb-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 950;
    letter-spacing: .06em
}

.ozb-brand img {
    width: 42px;
    height: 42px;
    border-radius: 8px;
    object-fit: cover
}

.ozb-brand span {
    line-height: .95;
    font-size: 16px
}

.ozb-menu {
    margin-left: auto;
    display: flex;
    gap: 32px;
    align-items: center
}

.ozb-menu a {
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    position: relative
}

.ozb-menu a:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 0;
    height: 2px;
    background: var(--red);
    transition: .25s
}

.ozb-menu a:hover:after {
    width: 100%
}

.ozb-nav-cta,
.ozb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 12px;
    min-height: 48px;
    padding: 0 24px;
    transition: .25s
}

.ozb-nav-cta,
.ozb-btn.primary {
    background: var(--red);
    color: #fff;
    box-shadow: 0 14px 35px rgba(210, 10, 46, .28)
}

.ozb-btn.ghost {
    color: #fff;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, .04)
}

.ozb-nav-cta:hover,
.ozb-btn:hover {
    transform: translateY(-2px)
}

.ozb-toggle {
    display: none;
    margin-left: auto;
    background: transparent;
    border: 0
}

.ozb-toggle span {
    display: block;
    width: 26px;
    height: 2px;
    background: #fff;
    margin: 6px
}

.ozb-hero {
    position: relative;
    min-height: 100svh;
    display: flex;
    align-items: center;
    padding: 118px 0 80px;
    overflow: hidden;
    background: radial-gradient(circle at 73% 34%, rgba(210, 10, 46, .42), transparent 24%), linear-gradient(125deg, #040405 0%, #080608 45%, #1a0007 100%)
}

.ozb-bg-grid {
    position: absolute;
    inset: 0;
    opacity: .08;
    background-image: linear-gradient(rgba(255, 255, 255, .18) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .18) 1px, transparent 1px);
    background-size: 58px 58px;
    mask-image: linear-gradient(180deg, #000, transparent)
}

.ozb-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(55px);
    opacity: .7
}

.ozb-glow.one {
    right: 16%;
    top: 25%;
    width: 280px;
    height: 280px;
    background: var(--red)
}

.ozb-glow.two {
    left: 5%;
    bottom: 10%;
    width: 260px;
    height: 260px;
    background: #4b0011
}

.ozb-hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: 1.04fr .96fr;
    gap: 70px;
    align-items: center
}

.ozb-kicker,
.ozb-eyebrow {
    display: inline-flex;
    color: #fff;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, .055);
    padding: 9px 14px;
    border-radius: 999px;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .14em
}

.ozb-eyebrow {
    border: 0;
    background: transparent;
    color: var(--red);
    padding: 0
}

.ozb-hero h1,
.ozb-page-hero h1,
.ozb-section h2,
.ozb-final-cta h2 {
    font-family: var(--head);
    text-transform: uppercase;
    line-height: .94;
    letter-spacing: -.018em;
    margin: 18px 0
}

.ozb-hero h1{
    font-size:clamp(58px,8vw,112px);
    max-width:640px;
    line-height:.78;
    letter-spacing:-4px;
    font-family:var(--head);
    font-weight:400;
    text-transform:uppercase;
    margin:24px 0;
}

.ozb-hero h1 span{
    display:block;
    margin-bottom:-14px;
}

.ozb-hero h1 em {
    font-style: normal;
    color: var(--red);
    text-shadow: 0 0 32px rgba(210, 10, 46, .35)
}

.ozb-lead {
    max-width: 570px;
    color: #d7d7dd;
    font-size: 18px;
    line-height: 1.7;
    margin: 0 0 28px
}

.ozb-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap
}

.ozb-quick-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin-top: 34px;
    max-width: 620px;
    background: rgba(255, 255, 255, .055);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden
}

.ozb-quick-stats div {
    padding: 20px;
    border-right: 1px solid rgba(255, 255, 255, .08)
}

.ozb-quick-stats div:last-child {
    border-right: 0
}

.ozb-quick-stats strong {
    display: block;
    font-family: var(--head);
    font-size: 34px
}

.ozb-quick-stats span,
.ozb-impact-item span {
    display: block;
    color: #d9d9df;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em
}

.ozb-hero-visual {
    position: relative;
    min-height: 560px;
    display: grid;
    place-items: center;
    perspective: 900px
}

.ozb-orbit {
    position: absolute;
    width: 530px;
    height: 530px;
    border: 1px solid rgba(210, 10, 46, .25);
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(210, 10, 46, .14), rgba(210, 10, 46, .14) 1px, transparent 1px, transparent 22px);
    animation: spin 24s linear infinite
}

.ozb-product {
    position: relative;
    width: min(415px, 75vw);
    padding: 26px;
    border-radius: 30px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .04));
    border: 1px solid rgba(255, 255, 255, .18);
    box-shadow: 0 32px 100px rgba(0, 0, 0, .55);
    animation: float 5s ease-in-out infinite;
    transform-style: preserve-3d
}

.ozb-product img {
    display: block;
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1)
}

.ozb-helpline-badge {
    position: absolute;
    right: 28px;
    bottom: 85px;
    background: rgba(4, 4, 5, .85);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 18px;
    padding: 18px 22px;
    box-shadow: 0 20px 60px rgba(210, 10, 46, .2)
}

.ozb-helpline-badge strong {
    font-family: var(--head);
    font-size: 42px;
    display: block
}

.ozb-helpline-badge span {
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .12em
}

.ozb-ring {
    position: absolute;
    bottom: 64px;
    width: 320px;
    height: 36px;
    border: 2px solid var(--red);
    border-radius: 50%;
    filter: drop-shadow(0 0 18px rgba(210, 10, 46, .75))
}

.ozb-scroll {
    position: absolute;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .16em
}

.ozb-scroll span {
    display: block;
    text-align: center;
    color: var(--red);
    font-size: 20px;
    animation: bounce 1.4s infinite
}

.ozb-section,
.ozb-impact-strip {
    position: relative;
    padding: 96px 0;
    border-top: 1px solid rgba(255, 255, 255, .07);
    background: #050505
}

.ozb-impact-strip {
    padding-top: 76px
}

.ozb-impact-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .025));
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 20px;
    overflow: hidden
}

.ozb-impact-item {
    padding: 32px 22px;
    border-right: 1px solid rgba(255, 255, 255, .08)
}

.ozb-impact-item:last-child {
    border-right: 0
}

.ozb-impact-item strong {
    display: block;
    font-family: var(--head);
    font-size: 44px
}

.ozb-split {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 80px;
    align-items: end;
    margin-bottom: 38px
}

.ozb-section h2 {
    font-size: clamp(42px, 5.8vw, 84px);
    max-width: 800px
}

.ozb-split p {
    color: #d0d0d6;
    line-height: 1.75;
    font-size: 17px
}

.ozb-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px
}

.ozb-feature-grid article,
.ozb-card,
.ozb-survey-card,
.ozb-survey-stats article,
.ozb-media-card,
.ozb-roadmap-panel,
.ozb-contact-card,
.ozb-form {
    background: linear-gradient(180deg, rgba(255, 255, 255, .065), rgba(255, 255, 255, .026));
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 18px;
    box-shadow: 0 24px 90px rgba(0, 0, 0, .25)
}

.ozb-feature-grid article {
    padding: 28px;
    min-height: 190px
}

.ozb-feature-grid .ozb-large-card {
    grid-column: span 2;
    background: radial-gradient(circle at 0 0, rgba(210, 10, 46, .35), transparent 45%), linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .025))
}

.ozb-feature-grid h3,
.ozb-card h2,
.ozb-media-body h3,
.ozb-roadmap-list h3 {
    margin: 0 0 12px;
    text-transform: uppercase;
    font-weight: 950;
    letter-spacing: .05em
}

.ozb-feature-grid p,
.ozb-card p,
.ozb-media-body p,
.ozb-roadmap-list p {
    color: #c7c7ce;
    line-height: 1.65
}

.ozb-feature-grid li::marker {
    color: var(--red)
}

.ozb-journey {
    background: radial-gradient(circle at 80% 0, rgba(210, 10, 46, .16), transparent 34%), #050505
}

.ozb-timeline {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    position: relative;
    padding-top: 40px
}

.ozb-timeline:before {
    content: "";
    position: absolute;
    top: 12px;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .28), transparent)
}

.ozb-timeline article {
    position: relative;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 30px;
    min-height: 180px
}

.ozb-timeline article:before {
    content: "";
    position: absolute;
    top: -35px;
    left: 30px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--red);
    box-shadow: 0 0 0 8px rgba(210, 10, 46, .13), 0 0 25px rgba(210, 10, 46, .75)
}

.ozb-timeline span {
    color: var(--red);
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase
}

.ozb-survey-grid {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 24px
}

.ozb-survey-card {
    padding: 42px;
    background: radial-gradient(circle at 0 0, rgba(210, 10, 46, .34), transparent 48%), linear-gradient(135deg, rgba(210, 10, 46, .13), rgba(255, 255, 255, .035))
}

.ozb-survey-card h2 {
    font-size: clamp(38px, 4.8vw, 66px)
}

.ozb-survey-card p {
    margin-top: 70px
}

.ozb-survey-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px
}

.ozb-survey-stats article {
    padding: 34px
}

.ozb-survey-stats strong {
    font-family: var(--head);
    font-size: 54px
}

.ozb-survey-stats span {
    color: #ddd
}

.ozb-media-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px
}

.ozb-media-card {
    overflow: hidden;
    transition: .25s
}

.ozb-media-card a {
    color: #fff;
    text-decoration: none
}

.ozb-media-card:hover {
    transform: translateY(-6px);
    border-color: rgba(210, 10, 46, .55)
}

.ozb-media-img {
    height: 210px;
    background: #000
}

.ozb-media-img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.ozb-media-body {
    padding: 24px
}

.ozb-media-body span {
    color: var(--red);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase
}

.ozb-roadmap-panel {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 48px;
    padding: 52px;
    background: radial-gradient(circle at 95% 50%, rgba(210, 10, 46, .2), transparent 44%), linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .03))
}

.ozb-roadmap-list {
    display: grid;
    gap: 16px
}

.ozb-roadmap-list article {
    background: rgba(210, 10, 46, .1);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 16px;
    padding: 24px
}

.ozb-final-cta {
    padding: 80px 0 110px
}

.ozb-cta-panel {
    display: grid;
    grid-template-columns: 1.1fr 1fr auto;
    gap: 36px;
    align-items: center;
    padding: 54px;
    background: linear-gradient(110deg, #cf082d 0%, #5b0013 48%, #100005 100%);
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, .16)
}

.ozb-cta-panel h2 {
    font-size: clamp(42px, 5vw, 78px)
}

.ozb-cta-panel p {
    color: #f4dde3;
    line-height: 1.65
}

.ozb-footer {
    border-top: 1px solid var(--line);
    padding: 58px 0 22px;
    background: #050505
}

.ozb-footer-grid {
    display: grid;
    grid-template-columns: 1.4fr repeat(3, 1fr);
    gap: 48px
}

.ozb-footer-brand {
    display: flex;
    gap: 14px;
    align-items: center;
    text-transform: uppercase;
    font-weight: 950
}

.ozb-footer-brand img {
    width: 54px;
    height: 54px;
    border-radius: 9px
}

.ozb-footer p,
.ozb-footer small {
    color: #bbb;
    line-height: 1.7
}

.ozb-footer h4 {
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .14em
}

.ozb-footer a {
    display: block;
    color: #ddd;
    text-decoration: none;
    margin: 10px 0
}

.ozb-helpline {
    font-family: var(--head);
    font-size: 48px !important;
    color: #fff !important;
    margin: 0
}

.ozb-copyright {
    color: #888;
    border-top: 1px solid rgba(255, 255, 255, .08);
    margin-top: 40px;
    padding-top: 22px;
    font-size: 13px
}

.ozb-page-hero {
    padding: 160px 0 90px;
    background: radial-gradient(circle at 75% 10%, rgba(210, 10, 46, .28), transparent 35%), #050505;
    border-bottom: 1px solid var(--line)
}

.ozb-page-hero h1 {
    font-size: clamp(52px, 7vw, 104px);
    max-width: 960px
}

.ozb-page-hero p:not(.ozb-kicker) {
    color: #d4d4da;
    max-width: 720px;
    line-height: 1.75;
    font-size: 18px
}

.ozb-post-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.ozb-card {
    padding: 22px
}

.ozb-card a {
    color: #fff;
    text-decoration: none
}

.ozb-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 12px
}

.ozb-contact-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 26px
}

.ozb-contact-card,
.ozb-form {
    padding: 36px
}

.ozb-form {
    display: grid;
    gap: 16px
}

.ozb-form input,
.ozb-form textarea {
    width: 100%;
    background: #0c0c0f;
    border: 1px solid var(--line);
    border-radius: 14px;
    color: #fff;
    padding: 16px;
    font: inherit
}

.ozb-form textarea {
    min-height: 170px
}

.ozb-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .75s ease, transform .75s ease
}

.ozb-reveal.is-visible {
    opacity: 1;
    transform: translateY(0)
}

@keyframes float {

    0%,
    100% {
        transform: translateY(0) rotate(-3deg)
    }

    50% {
        transform: translateY(-18px) rotate(-1deg)
    }
}

@keyframes spin {
    to {
        transform: rotate(360deg)
    }
}

@keyframes bounce {

    0%,
    100% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(7px)
    }
}

@media(max-width:1100px) {

    .ozb-hero-grid,
    .ozb-split,
    .ozb-survey-grid,
    .ozb-roadmap-panel,
    .ozb-contact-grid {
        grid-template-columns: 1fr;
        gap: 36px
    }

    .ozb-hero-visual {
        order: -1;
        min-height: 430px
    }

    .ozb-product {
        width: min(340px, 76vw)
    }

    .ozb-orbit {
        width: 420px;
        height: 420px
    }

    .ozb-impact-grid {
        grid-template-columns: repeat(3, 1fr)
    }

    .ozb-feature-grid,
    .ozb-media-grid,
    .ozb-timeline,
    .ozb-post-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .ozb-footer-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .ozb-cta-panel {
        grid-template-columns: 1fr
    }
}

@media(max-width:760px) {
    .ozb-container {
        width: min(100% - 30px, 1180px)
    }

    .ozb-nav {
        height: 68px
    }

    .ozb-menu {
        position: fixed;
        left: 15px;
        right: 15px;
        top: 78px;
        display: none;
        flex-direction: column;
        background: rgba(10, 10, 12, .97);
        border: 1px solid var(--line);
        border-radius: 20px;
        padding: 24px
    }

    .ozb-menu.open {
        display: flex
    }

    .ozb-nav-cta {
        display: none
    }

    .ozb-toggle {
        display: block
    }

    .ozb-brand span {
        font-size: 14px
    }

    .ozb-hero {
        padding: 105px 0 72px
    }

    .ozb-hero h1 {
        font-size: clamp(48px, 15vw, 76px)
    }

    .ozb-lead {
        font-size: 15px
    }

    .ozb-actions {
        flex-direction: column
    }

    .ozb-btn {
        width: 100%
    }

    .ozb-quick-stats,
    .ozb-impact-grid,
    .ozb-feature-grid,
    .ozb-media-grid,
    .ozb-timeline,
    .ozb-survey-stats,
    .ozb-footer-grid,
    .ozb-post-grid {
        grid-template-columns: 1fr
    }

    .ozb-quick-stats div,
    .ozb-impact-item {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .08)
    }

    .ozb-quick-stats div:last-child,
    .ozb-impact-item:last-child {
        border-bottom: 0
    }

    .ozb-hero-visual {
        min-height: 330px
    }

    .ozb-orbit {
        width: 300px;
        height: 300px
    }

    .ozb-product {
        width: min(260px, 78vw);
        padding: 18px;
        border-radius: 24px
    }

    .ozb-helpline-badge {
        right: 0;
        bottom: 32px;
        padding: 14px
    }

    .ozb-helpline-badge strong {
        font-size: 30px
    }

    .ozb-ring {
        width: 220px;
        bottom: 28px
    }

    .ozb-scroll {
        display: none
    }

    .ozb-section,
    .ozb-impact-strip {
        padding: 68px 0
    }

    .ozb-section h2,
    .ozb-page-hero h1 {
        font-size: clamp(40px, 13vw, 62px)
    }

    .ozb-feature-grid .ozb-large-card {
        grid-column: auto
    }

    .ozb-timeline {
        padding-top: 0
    }

    .ozb-timeline:before,
    .ozb-timeline article:before {
        display: none
    }

    .ozb-survey-card p {
        margin-top: 24px
    }

    .ozb-media-img {
        height: 220px
    }

    .ozb-roadmap-panel,
    .ozb-cta-panel,
    .ozb-survey-card,
    .ozb-contact-card,
    .ozb-form {
        padding: 28px
    }

    .ozb-page-hero {
        padding: 125px 0 66px
    }
}

/* Behavioural Gap Cards Text Fix */
#ozbPhaseTwo .ozb-survey-stats article{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:14px !important;
    padding:38px !important;
}

#ozbPhaseTwo .ozb-survey-stats article strong{
    display:block !important;
    width:100% !important;
    font-size:64px !important;
    line-height:.82 !important;
    margin:0 !important;
}

#ozbPhaseTwo .ozb-survey-stats article span{
    display:block !important;
    width:100% !important;
    max-width:220px !important;
    font-size:18px !important;
    line-height:1.35 !important;
    margin:0 !important;
    color:#d8d8d8 !important;
}

/* ================================
   OZB Single Event / Media / Report
================================ */
.ozb-single-hero{
  position:relative;
  padding:150px 0 78px;
  background:
    radial-gradient(circle at 78% 10%, rgba(210,10,46,.28), transparent 34%),
    radial-gradient(circle at 8% 0%, rgba(255,255,255,.04), transparent 30%),
    #050506;
  border-bottom:1px solid rgba(255,255,255,.09);
  overflow:hidden;
}
.ozb-single-hero:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.08;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px);
  background-size:58px 58px;
}
.ozb-single-hero-grid{
  position:relative;
  display:grid;
  grid-template-columns:1fr .72fr;
  gap:56px;
  align-items:center;
}
.ozb-single-hero-copy h1{
  font-family:var(--head);
  text-transform:uppercase;
  font-size:clamp(52px,6.6vw,112px);
  line-height:.9;
  letter-spacing:-.035em;
  margin:22px 0;
  max-width:950px;
}
.ozb-single-excerpt{
  color:#d7d7dd;
  font-size:20px;
  line-height:1.75;
  max-width:760px;
  margin:0;
}
.ozb-single-featured{
  position:relative;
  border-radius:26px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
  box-shadow:0 30px 110px rgba(0,0,0,.46), 0 0 70px rgba(210,10,46,.12);
  min-height:360px;
}
.ozb-single-featured:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.28));
  pointer-events:none;
}
.ozb-single-featured img{
  width:100%;
  height:100%;
  min-height:360px;
  display:block;
  object-fit:cover;
}
.ozb-single-section{
  padding:80px 0 90px;
  background:
    radial-gradient(circle at 90% 20%, rgba(210,10,46,.11), transparent 28%),
    #050505;
}
.ozb-single-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 290px;
  gap:48px;
  align-items:start;
}
.ozb-single-content{
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022));
  border:1px solid rgba(255,255,255,.11);
  border-radius:26px;
  padding:48px;
  color:#e9e9ee;
  font-size:18px;
  line-height:1.85;
  box-shadow:0 28px 100px rgba(0,0,0,.35);
}
.ozb-single-content > *:first-child{margin-top:0!important;}
.ozb-single-content > *:last-child{margin-bottom:0!important;}
.ozb-single-content p{margin:0 0 24px;color:#dcdce2;}
.ozb-single-content h1,
.ozb-single-content h2,
.ozb-single-content h3,
.ozb-single-content h4{
  color:#fff;
  margin:42px 0 16px;
  line-height:1.12;
}
.ozb-single-content h2{
  font-size:clamp(30px,3vw,50px);
}
.ozb-single-content h3{
  font-size:clamp(24px,2vw,34px);
}
.ozb-single-content ul,
.ozb-single-content ol{
  padding-left:24px;
  margin:0 0 26px;
}
.ozb-single-content li{margin:8px 0;}
.ozb-single-content a{color:#fff;text-decoration-color:var(--red);}
.ozb-single-content img,
.ozb-single-content figure{
  max-width:100%;
  height:auto;
  border-radius:18px;
}
.ozb-single-content figure{
  margin:34px 0;
}
.ozb-single-content blockquote{
  margin:34px 0;
  padding:26px 30px;
  border-left:4px solid var(--red);
  background:rgba(210,10,46,.08);
  border-radius:16px;
  color:#fff;
}
.ozb-single-side{
  position:sticky;
  top:110px;
  display:grid;
  gap:16px;
}
.ozb-single-side-card{
  padding:24px;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.024));
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 20px 70px rgba(0,0,0,.24);
}
.ozb-single-side-card span{
  display:block;
  color:var(--red);
  text-transform:uppercase;
  font-size:11px;
  font-weight:950;
  letter-spacing:.14em;
  margin-bottom:9px;
}
.ozb-single-side-card strong{
  display:block;
  color:#fff;
  font-size:17px;
  line-height:1.45;
}
.ozb-related-section{
  padding-top:80px;
}
@media(max-width:980px){
  .ozb-single-hero{padding:122px 0 56px;}
  .ozb-single-hero-grid,
  .ozb-single-layout{
    grid-template-columns:1fr;
  }
  .ozb-single-featured{min-height:260px;}
  .ozb-single-featured img{min-height:260px;}
  .ozb-single-side{
    position:relative;
    top:auto;
    grid-template-columns:repeat(3,1fr);
  }
}
@media(max-width:760px){
  .ozb-single-hero{padding:104px 0 44px;}
  .ozb-single-hero-copy h1{
    font-size:clamp(42px,13vw,66px);
    letter-spacing:-.025em;
  }
  .ozb-single-excerpt{
    font-size:16px;
    line-height:1.65;
  }
  .ozb-single-section{padding:44px 0 58px;}
  .ozb-single-content{
    padding:26px;
    border-radius:20px;
    font-size:16px;
    line-height:1.75;
  }
  .ozb-single-side{
    grid-template-columns:1fr;
  }
}
