
* {
    box-sizing: border-box;
}

body {
    margin: 0;
}


/* ==================================================
   BHS TOPBAR
================================================== */

.bhs-topbar-wrap {
    width: 100%;
    background: #F6F2EF;
    padding: 10px 5%;
}

.bhs-topbar-inner {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;
}

.bhs-topbar-left {
    display: flex;
    align-items: center;
    gap: 28px;
}

.bhs-topbar-link,
.bhs-topbar-address {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: inherit;
    text-decoration: none;

    font-size: 14px;
    font-weight: 500;

    transition:
        transform 0.3s ease,
        opacity 0.3s ease;
}

.bhs-topbar-link:hover,
.bhs-topbar-address:hover {
    transform: translateY(-1px);
    opacity: 0.65;
}

.bhs-topbar-link i,
.bhs-topbar-address i {
    font-size: 14px;
}

.bhs-topbar-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    text-align: right;
}


/* TABLET */

@media (max-width: 900px) {

    .bhs-topbar-inner {
        gap: 15px;
    }

    .bhs-topbar-left {
        gap: 16px;
    }

    .bhs-topbar-link,
    .bhs-topbar-address {
        font-size: 14px;
    }

}


/* MOBILE */

@media (max-width: 768px) {

    .bhs-topbar-inner {
        flex-direction: column;
        align-items: flex-start;

        gap: 8px;
    }

    .bhs-topbar-left {
        width: 100%;

        justify-content: space-between;

        gap: 12px;
    }

    .bhs-topbar-right {
        width: 100%;
        justify-content: flex-start;

        text-align: left;
    }

    .bhs-topbar-address {
        line-height: 1.5;
    }

}


/* SMALL MOBILE */

@media (max-width: 520px) {

    .bhs-topbar-wrap {
        padding: 10px 16px;
    }

    .bhs-topbar-left {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .bhs-topbar-link,
    .bhs-topbar-address {
        font-size: 14px;
    }

}


/* =========================
   HEADER SHELL
========================= */

.bhs-header-shell {
    position: sticky;
    top: 0;
    z-index: 999;

    width: 100%;
    padding: 14px 4%;

    transition:
        padding 0.4s ease,
        transform 0.4s ease;
}

.bhs-header-shell.bhs-header-scrolled {
    padding-top: 8px;
    padding-bottom: 8px;
}


/* =========================
   MAIN NAVBAR
========================= */

.bhs-navbar-wrap {
    width: 100%;
    max-width: 1440px;
    min-height: 78px;

    margin: 0 auto;
    padding: 10px 12px 10px 20px;

    background: white;

    border-radius: 24px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    box-shadow:
        0 12px 40px rgba(0, 0, 0, 0.06);

    transition:
        min-height 0.4s ease,
        border-radius 0.4s ease,
        transform 0.4s ease;
}

.bhs-header-scrolled .bhs-navbar-wrap {
    min-height: 66px;
    border-radius: 20px;
}


/* =========================
   BRAND / LOGO
========================= */

.bhs-navbar-brand {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.bhs-brand-mark {
    width: auto;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
}

.bhs-brand-logo-img {
    display: block;
    width: auto;
    height: 100%;
    max-width: 180px;
    object-fit: contain;
}


.bhs-navbar-brand:hover .bhs-brand-mark {
    transform: rotate(-6deg) scale(1.04);
    border-radius: 50%;
}

.bhs-brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1;
}

.bhs-brand-text strong {
    font-size: 20px;
    letter-spacing: -0.6px;
}

.bhs-brand-text small {
    margin-top: 6px;
    font-size: 13px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}


/* =========================
   DESKTOP NAVIGATION
========================= */

.bhs-desktop-nav {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 6px;

    padding: 6px;

    background: #F6F2EF;
    border-radius: 16px;
}

.bhs-nav-link {
    position: relative;

    padding: 12px 18px;

    color: inherit;
    text-decoration: none;

    border-radius: 12px;

    font-size: 14px;
    font-weight: 500;

    transition:
        background 0.3s ease,
        transform 0.3s ease;
}

.bhs-nav-link:hover,
.bhs-nav-active {
    background: white;
    transform: translateY(-1px);
}


/* =========================
   HEADER ACTIONS
========================= */

.bhs-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.bhs-order-btn {
    min-height: 54px;

    padding: 0 20px 0 22px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;

    background: #F6F2EF;

    border-radius: 15px;

    color: inherit;
    text-decoration: none;

    font-size: 14px;
    font-weight: 600;

    transition:
        transform 0.35s ease,
        border-radius 0.35s ease;
}

.bhs-order-btn i {
    width: 30px;
    height: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: white;
    border-radius: 50%;

    font-size: 13px;

    transition: transform 0.35s ease;
}

.bhs-order-btn:hover {
    transform: translateY(-3px);
    border-radius: 20px;
}

.bhs-order-btn:hover i {
    transform: translateX(4px);
}


/* =========================
   MOBILE TOGGLE
========================= */

.bhs-mobile-toggle {
    width: 52px;
    height: 52px;

    padding: 0;

    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 5px;

    background: #F6F2EF;
    border: 0;
    border-radius: 15px;

    cursor: pointer;
}

.bhs-mobile-toggle span {
    width: 20px;
    height: 2px;

    background: currentColor;

    border-radius: 10px;

    transition:
        transform 0.35s ease,
        opacity 0.35s ease;
}

.bhs-mobile-toggle.bhs-toggle-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.bhs-mobile-toggle.bhs-toggle-open span:nth-child(2) {
    opacity: 0;
}

.bhs-mobile-toggle.bhs-toggle-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}


/* =========================
   MOBILE PANEL
========================= */

.bhs-mobile-panel {
    max-width: 1440px;
    margin: 0 auto;

    max-height: 0;
    overflow: hidden;

    opacity: 0;

    transition:
        max-height 0.5s ease,
        opacity 0.3s ease,
        padding 0.4s ease;
}

.bhs-mobile-panel.bhs-mobile-panel-open {
    max-height: 600px;
    opacity: 1;
    padding-top: 10px;
}

.bhs-mobile-nav {
    background: white;

    border-radius: 22px;

    padding: 14px;

    display: flex;
    flex-direction: column;
    gap: 5px;

    box-shadow:
        0 12px 40px rgba(0, 0, 0, 0.05);
}

.bhs-mobile-link,
.bhs-mobile-order {
    min-height: 58px;

    padding: 0 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    color: inherit;
    text-decoration: none;

    border-radius: 14px;

    font-size: 15px;
    font-weight: 500;

    transition:
        background 0.3s ease,
        padding 0.3s ease;
}

.bhs-mobile-link:hover {
    background: #F6F2EF;
    padding-left: 24px;
}

.bhs-mobile-link i {
    font-size: 14px;
}

.bhs-mobile-order {
    margin-top: 6px;
    background: #F6F2EF;
    font-weight: 600;
}

.bhs-mobile-contact {
    margin-top: 8px;
    padding: 20px;

    background: #F6F2EF;
    border-radius: 20px;
}

.bhs-mobile-contact p {
    margin: 0 0 8px;
    font-size: 14px;
}

.bhs-mobile-contact a {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: inherit;
    text-decoration: none;

    font-weight: 600;
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1100px) {

    .bhs-desktop-nav {
        display: none;
    }

    .bhs-mobile-toggle {
        display: flex;
    }

}


@media (max-width: 768px) {

    .bhs-topbar-right {
        display: none;
    }

    .bhs-topbar-left {
        width: 100%;
        justify-content: space-between;
        gap: 12px;
    }

    .bhs-topbar-link {
        font-size: 14px;
    }

    .bhs-topbar-link:nth-child(2) span {
        display: none;
    }

    .bhs-header-shell {
        padding-left: 14px;
        padding-right: 14px;
    }

    .bhs-navbar-wrap {
        min-height: 70px;
        padding-left: 12px;
        border-radius: 20px;
    }

    .bhs-brand-mark {
        width: 125px;
        height: 50px !important;
    }

    .bhs-brand-text strong {
        font-size: 17px;
    }

    .bhs-brand-text small {
        font-size: 13px;
    }

    .bhs-order-btn {
        display: none;
    }

}

@media (max-width: 768px) {

    .bhs-brand-mark {
        height: 40px;
    }

    .bhs-brand-logo-img {
        max-width: 150px;
    }

}


/* MOBILE */

@media (max-width: 480px) {

    .bhs-brand-mark {
        height: 34px;
    }

    .bhs-brand-logo-img {
        max-width: 125px;
    }

}

.bhs-slider-shell{
    position:relative;
    height:720px;
    margin:0 4%;
    overflow:hidden;
    border-radius:28px;
    background:#F6F2EF;
}
.bhs-slide-item{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    background-size:cover;
    background-position:center;
    transform:scale(1.05);
    transition:opacity .9s ease,visibility .9s ease,transform 7s ease;
}
.bhs-slide-item.bhs-slide-current{
    opacity:1;
    visibility:visible;
    transform:scale(1);
    z-index:2;
}
.bhs-slide-inner{
    width:100%;
    max-width:1440px;
    height:100%;
    margin:0 auto;
    padding:70px;
    display:flex;
    align-items:center;
}
.bhs-slide-copy{
    position:relative;
    z-index:3;
    width:min(570px,48%);
}
.bhs-slide-label{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:22px;
    padding:10px 16px;
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(10px);
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}
.bhs-slide-label i{
    font-size:13px;
}
.bhs-slide-copy h1,
.bhs-slide-copy h2{
    margin:0 0 22px;
    max-width:570px;
    font-size:clamp(48px,5vw,76px);
    line-height:.98;
    letter-spacing:-3.5px;
    font-weight:500;
}
.bhs-slide-copy p{
    max-width:520px;
    margin:0 0 30px;
    font-size:17px;
    line-height:1.75;
}
.bhs-slide-buttons{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}
.bhs-slide-btn-main,
.bhs-slide-btn-light{
    min-height:56px;
    padding:0 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    color:inherit;
    text-decoration:none;
    border-radius:14px;
    font-size:14px;
    font-weight:600;
    transition:transform .35s ease,border-radius .35s ease;
}
.bhs-slide-btn-main{
    background:#F6F2EF;
}
.bhs-slide-btn-light{
    background:white;
}
.bhs-slide-btn-main:hover,
.bhs-slide-btn-light:hover{
    transform:translateY(-4px);
    border-radius:22px;
}
.bhs-slide-btn-main i{
    transition:transform .3s ease;
}
.bhs-slide-btn-main:hover i{
    transform:translateX(5px);
}
.bhs-slide-current .bhs-slide-copy>*{
    opacity:0;
    transform:translateY(35px);
    animation:bhsSlideReveal .8s forwards;
}
.bhs-slide-current .bhs-slide-copy>*:nth-child(1){animation-delay:.15s}
.bhs-slide-current .bhs-slide-copy>*:nth-child(2){animation-delay:.3s}
.bhs-slide-current .bhs-slide-copy>*:nth-child(3){animation-delay:.45s}
.bhs-slide-current .bhs-slide-copy>*:nth-child(4){animation-delay:.6s}
@keyframes bhsSlideReveal{
    to{
        opacity:1;
        transform:translateY(0);
    }
}
.bhs-slider-bottom{
    position:absolute;
    z-index:5;
    left:70px;
    right:70px;
    bottom:28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.bhs-slider-count{
    min-width:105px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 16px;
    background:rgba(255,255,255,.9);
    backdrop-filter:blur(10px);
    border-radius:30px;
    font-size:13px;
    font-weight:600;
}
.bhs-slider-count-line{
    width:25px;
    height:1px;
    background:#F6F2EF;
}
.bhs-slider-dots{
    display:flex;
    align-items:center;
    gap:8px;
}
.bhs-slider-dot{
    width:9px;
    height:9px;
    padding:0;
    border:0;
    border-radius:20px;
    background:white;
    cursor:pointer;
    transition:width .35s ease;
}
.bhs-slider-dot.bhs-dot-current{
    width:34px;
}
.bhs-slider-nav{
    display:flex;
    gap:8px;
}
.bhs-slider-nav button{
    width:48px;
    height:48px;
    border:0;
    border-radius:50%;
    background:white;
    cursor:pointer;
    transition:transform .3s ease;
}
.bhs-slider-nav button:hover{
    transform:scale(1.08);
}
.bhs-slider-progress{
    position:absolute;
    z-index:6;
    left:0;
    bottom:0;
    width:100%;
    height:4px;
    background:rgba(255,255,255,.5);
}
.bhs-slider-progress span{
    display:block;
    width:0;
    height:100%;
    background:white;
}
.bhs-slider-progress span.bhs-progress-active{
    animation:bhsSliderProgress 6s linear forwards;
}
@keyframes bhsSliderProgress{
    from{width:0}
    to{width:100%}
}
@media(max-width:900px){
    .bhs-slider-shell{
        height:680px;
        margin:0 16px;
        border-radius:22px;
    }
    .bhs-slide-item{
        background-position:62% center;
    }
    .bhs-slide-item::before{
        content:"";
        position:absolute;
        inset:0;
        background:linear-gradient(90deg,rgba(246,242,239,.96) 0%,rgba(246,242,239,.84) 42%,rgba(246,242,239,.2) 75%);
    }
    .bhs-slide-inner{
        padding:45px;
    }
    .bhs-slide-copy{
        width:65%;
    }
    .bhs-slide-copy h1,
    .bhs-slide-copy h2{
        font-size:52px;
        letter-spacing:-2.5px;
    }
    .bhs-slider-bottom{
        left:35px;
        right:35px;
    }
}
@media(max-width:600px){
    .bhs-slider-shell{
        height:680px;
    }
    .bhs-slide-item{
        background-position:68% center;
    }
    .bhs-slide-item::before{
        background:linear-gradient(0deg,rgba(246,242,239,.98) 0%,rgba(246,242,239,.9) 50%,rgba(246,242,239,.15) 85%);
    }
    .bhs-slide-inner{
        padding:24px;
        align-items:flex-end;
        padding-bottom:120px;
    }
    .bhs-slide-copy{
        width:100%;
    }
    .bhs-slide-copy h1,
    .bhs-slide-copy h2{
        font-size:40px;
        letter-spacing:-2px;
    }
    .bhs-slide-copy p{
        font-size:14px;
        line-height:1.6;
    }
    .bhs-slide-label{
        margin-bottom:16px;
        font-size:13px;
    }
    .bhs-slide-buttons{
        flex-direction:column;
        align-items:stretch;
    }
    .bhs-slide-btn-main,
    .bhs-slide-btn-light{
        width:100%;
    }
    .bhs-slider-bottom{
        left:20px;
        right:20px;
        bottom:20px;
    }
    .bhs-slider-dots{
        display:none;
    }
    .bhs-slider-nav button{
        width:42px;
        height:42px;
    }
}

.bhs-flowpath{
    padding:100px 5%;
    background:white;
    overflow:hidden;
}
.bhs-flowpath-head{
    max-width:1440px;
    margin:0 auto 55px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:50px;
}
.bhs-flowpath-head>div{
    max-width:650px;
}
.bhs-flowpath-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-flowpath-kicker::before{
    content:"";
    width:28px;
    height:1px;
    background:currentColor;
}
.bhs-flowpath-head h2{
    margin:0;
    font-size:clamp(36px,4vw,56px);
    line-height:1.05;
    letter-spacing:-2.2px;
    font-weight:500;
}
.bhs-flowpath-head p{
    max-width:430px;
    margin:0;
    font-size:15px;
    line-height:1.8;
}
.bhs-flowpath-track{
    position:relative;
    max-width:1440px;
    margin:0 auto 28px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
}
.bhs-flowpath-track-base,
.bhs-flowpath-track-fill{
    position:absolute;
    top:28px;
    left:12.5%;
    height:2px;
}
.bhs-flowpath-track-base{
    width:75%;
    background:#F6F2EF;
}
.bhs-flowpath-track-fill{
    width:0;
    background:#000;
    transition:width .7s cubic-bezier(.2,.8,.2,1);
    z-index:2;
}
.bhs-flowpath-step{
    position:relative;
    z-index:3;
    padding:0 12px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
    border:0;
    background:transparent;
    color:inherit;
    cursor:pointer;
}
.bhs-flowpath-dot{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:8px solid white;
    outline:2px solid #F6F2EF;
    border-radius:50%;
    background:white;
    font-size:17px;
    transition:background .4s ease,transform .4s ease,border-radius .4s ease;
}
.bhs-flowpath-step:hover .bhs-flowpath-dot,
.bhs-flowpath-step-active .bhs-flowpath-dot{
    background:#F6F2EF;
    transform:translateY(-5px) rotate(-6deg);
    border-radius:18px;
}
.bhs-flowpath-step-copy{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:5px;
}
.bhs-flowpath-step-copy small{
    font-size:13px;
    letter-spacing:0.6px;
    opacity:.5;
}
.bhs-flowpath-step-copy strong{
    font-size:14px;
    font-weight:600;
    text-align:center;
}
.bhs-flowpath-panel{
    position:relative;
    max-width:1440px;
    min-height:360px;
    margin:0 auto;
    padding:50px 55px;
    display:grid;
    grid-template-columns:130px 1fr 320px;
    align-items:center;
    gap:45px;
    background:#F6F2EF;
    border-radius:30px;
    overflow:hidden;
}
.bhs-flowpath-number{
    width:110px;
    height:110px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:50% 50% 18px 50%;
}
.bhs-flowpath-number span{
    font-size:34px;
    font-weight:500;
    letter-spacing:-2px;
}
.bhs-flowpath-content{
    position:relative;
    z-index:3;
    max-width:650px;
}
.bhs-flowpath-content>span{
    display:inline-block;
    margin-bottom:12px;
    padding:8px 13px;
    background:white;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}
.bhs-flowpath-content h3{
    margin:0 0 15px;
    font-size:clamp(38px,4vw,58px);
    line-height:1;
    letter-spacing:-2.4px;
    font-weight:500;
}
.bhs-flowpath-content p{
    max-width:620px;
    margin:0 0 24px;
    font-size:15px;
    line-height:1.8;
}
.bhs-flowpath-content a{
    display:inline-flex;
    align-items:center;
    gap:14px;
    min-height:50px;
    padding:0 18px;
    background:white;
    color:inherit;
    text-decoration:none;
    border-radius:14px;
    font-size:13px;
    font-weight:600;
    transition:transform .35s ease,border-radius .35s ease;
}
.bhs-flowpath-content a:hover{
    transform:translateY(-4px);
    border-radius:22px;
}
.bhs-flowpath-content a i{
    transition:transform .3s ease;
}
.bhs-flowpath-content a:hover i{
    transform:translateX(5px);
}
.bhs-flowpath-visual{
    position:relative;
    width:280px;
    height:260px;
    justify-self:end;
    display:flex;
    align-items:center;
    justify-content:center;
}
.bhs-flowpath-main-icon{
    position:relative;
    z-index:3;
    width:145px;
    height:145px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:42% 58% 58% 42% / 45% 45% 55% 55%;
    font-size:46px;
    animation:bhsFlowMorph 7s ease-in-out infinite;
    transition:transform .4s ease,opacity .4s ease;
}
.bhs-flowpath-main-icon.bhs-flow-icon-change{
    transform:scale(.65) rotate(-20deg);
    opacity:.3;
}
.bhs-flowpath-shape-one,
.bhs-flowpath-shape-two{
    position:absolute;
    border:1px solid white;
    border-radius:50%;
}
.bhs-flowpath-shape-one{
    width:230px;
    height:230px;
    animation:bhsFlowSpin 14s linear infinite;
}
.bhs-flowpath-shape-one::before{
    content:"";
    position:absolute;
    top:15px;
    left:35px;
    width:20px;
    height:20px;
    background:white;
    border-radius:50%;
}
.bhs-flowpath-shape-two{
    width:175px;
    height:175px;
    animation:bhsFlowSpinReverse 10s linear infinite;
}
.bhs-flowpath-shape-two::before{
    content:"";
    position:absolute;
    right:-6px;
    top:50%;
    width:13px;
    height:13px;
    background:white;
    border-radius:50%;
}
.bhs-flowpath-auto{
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:4px;
    background:white;
}
.bhs-flowpath-auto span{
    display:block;
    width:0;
    height:100%;
    background:#F6F2EF;
}
.bhs-flowpath-auto span.bhs-flow-auto-run{
    animation:bhsFlowAuto 5s linear forwards;
}
.bhs-flowpath-content.bhs-flow-content-change{
    animation:bhsFlowContent .55s ease;
}
@keyframes bhsFlowMorph{
    0%,100%{
        border-radius:42% 58% 58% 42% / 45% 45% 55% 55%;
    }
    50%{
        border-radius:60% 40% 42% 58% / 58% 46% 54% 42%;
    }
}
@keyframes bhsFlowSpin{
    to{transform:rotate(360deg)}
}
@keyframes bhsFlowSpinReverse{
    to{transform:rotate(-360deg)}
}
@keyframes bhsFlowAuto{
    from{width:0}
    to{width:100%}
}
@keyframes bhsFlowContent{
    0%{
        opacity:1;
        transform:translateY(0);
    }
    45%{
        opacity:0;
        transform:translateY(16px);
    }
    100%{
        opacity:1;
        transform:translateY(0);
    }
}
@media(max-width:1050px){
    .bhs-flowpath-panel{
        grid-template-columns:100px 1fr 220px;
        gap:25px;
    }
    .bhs-flowpath-visual{
        width:210px;
    }
}
@media(max-width:850px){
    .bhs-flowpath-head{
        flex-direction:column;
        align-items:flex-start;
        gap:18px;
    }
    .bhs-flowpath-track{
        grid-template-columns:repeat(2,1fr);
        gap:20px;
    }
    .bhs-flowpath-track-base,
    .bhs-flowpath-track-fill{
        display:none;
    }
    .bhs-flowpath-panel{
        grid-template-columns:100px 1fr;
    }
    .bhs-flowpath-visual{
        grid-column:1/-1;
        justify-self:center;
        height:200px;
    }
}
@media(max-width:600px){
    .bhs-flowpath{
        padding:75px 16px;
    }
    .bhs-flowpath-head{
        margin-bottom:38px;
    }
    .bhs-flowpath-head h2{
        font-size:38px;
        letter-spacing:-1.8px;
    }
    .bhs-flowpath-track{
        grid-template-columns:1fr 1fr;
        margin-bottom:24px;
    }
    .bhs-flowpath-step{
        padding:0 4px;
    }
    .bhs-flowpath-step-copy strong{
        font-size:13px;
    }
    .bhs-flowpath-panel{
        min-height:auto;
        padding:30px 22px 40px;
        grid-template-columns:1fr;
        gap:26px;
        border-radius:24px;
    }
    .bhs-flowpath-number{
        width:78px;
        height:78px;
    }
    .bhs-flowpath-number span{
        font-size:26px;
    }
    .bhs-flowpath-content h3{
        font-size:40px;
        letter-spacing:-2px;
    }
    .bhs-flowpath-visual{
        width:100%;
        height:220px;
    }
}

.bhs-about-showcase{
    padding:20px 5% 100px;
    background:white;
}
.bhs-about-showcase-inner{
    max-width:1440px;
    margin:0 auto;
    padding:28px;
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:28px;
    background:#F6F2EF;
    border-radius:30px;
    overflow:hidden;
}
.bhs-about-showcase-visual{
    position:relative;
    min-height:620px;
    overflow:hidden;
    border-radius:24px;
}
.bhs-about-showcase-visual img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 1.2s cubic-bezier(.2,.8,.2,1);
}
.bhs-about-showcase-visual:hover img{
    transform:scale(1.04);
}
.bhs-about-showcase-badge{
    position:absolute;
    left:24px;
    bottom:24px;
    padding:10px 15px 10px 10px;
    display:flex;
    align-items:center;
    gap:10px;
    background:white;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
}
.bhs-about-showcase-badge i{
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F6F2EF;
    border-radius:50%;
}
.bhs-about-showcase-content{
    min-height:620px;
    padding:55px 45px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.bhs-about-showcase-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}
.bhs-about-showcase-kicker::before{
    content:"";
    width:28px;
    height:1px;
    background:currentColor;
}
.bhs-about-showcase-content h2{
    margin:0 0 22px;
    max-width:650px;
    font-size:clamp(38px,4vw,56px);
    line-height:1.05;
    letter-spacing:-2.2px;
    font-weight:500;
}
.bhs-about-showcase-content p{
    margin:0;
    max-width:580px;
    font-size:16px;
    line-height:1.8;
}
.bhs-about-showcase-action{
    margin-top:30px;
}
.bhs-about-showcase-action a{
    display:inline-flex;
    align-items:center;
    gap:14px;
    min-height:52px;
    padding:0 18px;
    background:white;
    color:inherit;
    text-decoration:none;
    border-radius:14px;
    font-size:14px;
    font-weight:600;
    transition:transform .35s ease,border-radius .35s ease;
}
.bhs-about-showcase-action a:hover{
    transform:translateY(-4px);
    border-radius:22px;
}
.bhs-about-showcase-action i{
    transition:transform .3s ease;
}
.bhs-about-showcase-action a:hover i{
    transform:translateX(5px);
}
.bhs-about-showcase-values{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}
.bhs-about-showcase-value{
    padding:22px;
    display:grid;
    grid-template-columns:34px 46px 1fr;
    align-items:center;
    gap:12px;
    background:white;
    border-radius:18px;
    transition:transform .35s ease;
}
.bhs-about-showcase-value:hover{
    transform:translateY(-5px);
}
.bhs-about-showcase-value>span{
    font-size:13px;
    opacity:.5;
}
.bhs-about-showcase-value>i{
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F6F2EF;
    border-radius:14px;
}
.bhs-about-showcase-value h3{
    margin:0 0 5px;
    font-size:17px;
    font-weight:600;
}
.bhs-about-showcase-value p{
    margin:0;
    font-size:14px;
    line-height:1.6;
}
.bhs-about-showcase-content,
.bhs-about-showcase-visual,
.bhs-about-showcase-value{
    opacity:0;
}
.bhs-about-showcase.bhs-about-showcase-visible .bhs-about-showcase-visual{
    animation:bhsShowcaseVisual .8s cubic-bezier(.2,.8,.2,1) forwards;
}
.bhs-about-showcase.bhs-about-showcase-visible .bhs-about-showcase-content{
    animation:bhsShowcaseContent .8s ease forwards .15s;
}
.bhs-about-showcase.bhs-about-showcase-visible .bhs-about-showcase-value:nth-child(1){
    animation:bhsShowcaseValue .6s ease forwards .3s;
}
.bhs-about-showcase.bhs-about-showcase-visible .bhs-about-showcase-value:nth-child(2){
    animation:bhsShowcaseValue .6s ease forwards .45s;
}
.bhs-about-showcase.bhs-about-showcase-visible .bhs-about-showcase-value:nth-child(3){
    animation:bhsShowcaseValue .6s ease forwards .6s;
}
@keyframes bhsShowcaseVisual{
    from{opacity:0;transform:translateX(-30px)}
    to{opacity:1;transform:translateX(0)}
}
@keyframes bhsShowcaseContent{
    from{opacity:0;transform:translateY(25px)}
    to{opacity:1;transform:translateY(0)}
}
@keyframes bhsShowcaseValue{
    from{opacity:0;transform:translateY(20px)}
    to{opacity:1;transform:translateY(0)}
}
@media(max-width:950px){
    .bhs-about-showcase-inner{
        grid-template-columns:1fr;
    }
    .bhs-about-showcase-visual{
        min-height:520px;
    }
    .bhs-about-showcase-content{
        min-height:auto;
        padding:30px 20px 40px;
    }
    .bhs-about-showcase-values{
        grid-column:auto;
        grid-template-columns:1fr;
    }
}
@media(max-width:600px){
    .bhs-about-showcase{
        padding:16px 16px 75px;
    }
    .bhs-about-showcase-inner{
        padding:14px;
        gap:18px;
        border-radius:24px;
    }
    .bhs-about-showcase-visual{
        min-height:420px;
        border-radius:18px;
    }
    .bhs-about-showcase-content{
        padding:24px 10px 30px;
    }
    .bhs-about-showcase-content h2{
        font-size:38px;
        letter-spacing:-1.8px;
    }
    .bhs-about-showcase-content p{
        font-size:15px;
    }
    .bhs-about-showcase-value{
        grid-template-columns:30px 42px 1fr;
        padding:18px;
    }
}

.bhs-product-slider{
    padding:100px 5%;
    background:white;
    overflow:hidden;
}
.bhs-product-slider-head{
    max-width:1440px;
    margin:0 auto 42px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:50px;
}
.bhs-product-slider-head>div:first-child{
    max-width:720px;
}
.bhs-product-slider-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}
.bhs-product-slider-kicker::before{
    content:"";
    width:28px;
    height:1px;
    background:currentColor;
}
.bhs-product-slider-head h2{
    margin:0 0 14px;
    font-size:clamp(36px,4vw,54px);
    line-height:1.05;
    letter-spacing:-2px;
    font-weight:500;
}
.bhs-product-slider-head p{
    max-width:620px;
    margin:0;
    font-size:15px;
    line-height:1.8;
}
.bhs-product-slider-actions{
    display:flex;
    align-items:center;
    gap:12px;
    flex-shrink:0;
}
.bhs-product-slider-all{
    min-height:50px;
    padding:0 18px;
    display:inline-flex;
    align-items:center;
    gap:12px;
    background:#F6F2EF;
    color:inherit;
    text-decoration:none;
    border-radius:14px;
    font-size:13px;
    font-weight:600;
    transition:transform .35s ease,border-radius .35s ease;
}
.bhs-product-slider-all:hover{
    transform:translateY(-4px);
    border-radius:22px;
}
.bhs-product-slider-arrows{
    display:flex;
    gap:8px;
}
.bhs-product-slider-arrows button{
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:50%;
    background:#F6F2EF;
    color:inherit;
    cursor:pointer;
    transition:transform .3s ease,border-radius .3s ease;
}
.bhs-product-slider-arrows button:hover{
    transform:scale(1.08) rotate(-6deg);
    border-radius:16px;
}
.bhs-product-slider-shell{
    position:relative;
    max-width:1440px;
    margin:0 auto;
    padding:16px 16px 28px;
    background:#F6F2EF;
    border-radius:30px;
    overflow:hidden;
}
.bhs-product-slider-viewport{
    width:100%;
    overflow:hidden;
}
.bhs-product-slider-track{
    display:flex;
    gap:14px;
    will-change:transform;
}
.bhs-product-slide-card{
    position:relative;
    flex:0 0 calc((100% - 42px)/4);
    min-width:0;
    padding:18px;
    background:white;
    border-radius:22px;
    overflow:hidden;
    transform:translateY(0);
    transition:transform .45s cubic-bezier(.2,.8,.2,1),border-radius .45s ease;
}
.bhs-product-slide-card:hover{
    transform:translateY(-8px);
    border-radius:34px 22px 34px 22px;
}
.bhs-product-slide-top{
    position:relative;
    z-index:4;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.bhs-product-slide-top span{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F6F2EF;
    border-radius:50%;
    font-size:13px;
    font-weight:600;
}
.bhs-product-slide-top small{
    padding:7px 10px;
    background:#F6F2EF;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}
.bhs-product-slide-image{
    position:relative;
    height:285px;
    margin:12px 0;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.bhs-product-slide-shape{
    position:absolute;
    width:210px;
    height:210px;
    border-radius:44% 56% 63% 37% / 48% 38% 62% 52%;
    transition:transform .7s cubic-bezier(.2,.8,.2,1),border-radius .7s ease;
}
.bhs-product-slide-card:hover .bhs-product-slide-shape{
    transform:rotate(14deg) scale(1.08);
    border-radius:58% 42% 38% 62% / 44% 60% 40% 56%;
}
.bhs-product-slide-image::before{
    content:"";
    position:absolute;
    width:245px;
    height:245px;
    border:1px solid #F6F2EF;
    border-radius:50%;
    transition:transform .8s ease;
}
.bhs-product-slide-card:hover .bhs-product-slide-image::before{
    transform:rotate(25deg) scale(.92);
}
.bhs-product-slide-image img{
    position:relative;
    z-index:3;
    width:78%;
    max-height:245px;
    object-fit:contain;
    transform:translateY(0) rotate(0);
    transition:transform .7s cubic-bezier(.2,.8,.2,1);
}
.bhs-product-slide-card:hover .bhs-product-slide-image img{
    transform:translateY(-10px) rotate(-3deg) scale(1.08);
}
.bhs-product-slide-content{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:15px;
}
.bhs-product-slide-content small{
    display:block;
    margin-bottom:5px;
    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;
    opacity:.6;
}
.bhs-product-slide-content h3{
    margin:0;
    font-size:22px;
    line-height:1.1;
    letter-spacing:-.8px;
    font-weight:500;
}
.bhs-product-slide-content>a{
    width:44px;
    height:44px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F6F2EF;
    color:inherit;
    text-decoration:none;
    border-radius:50%;
    transition:transform .35s ease,border-radius .35s ease;
}
.bhs-product-slide-card:hover .bhs-product-slide-content>a{
    transform:rotate(-35deg);
    border-radius:14px;
}
.bhs-product-slide-card>p{
    margin:15px 0 0;
    padding-top:14px;
    border-top:1px solid #F6F2EF;
    font-size:14px;
    line-height:1.65;
}
.bhs-product-slider-progress{
    position:absolute;
    left:16px;
    right:16px;
    bottom:10px;
    height:3px;
    background:white;
    border-radius:20px;
    overflow:hidden;
}
.bhs-product-slider-progress span{
    display:block;
    width:0;
    height:100%;
    background:#000;
}
.bhs-product-slider-progress span.bhs-product-slider-progress-run{
    animation:bhsProductSliderProgress 4.5s linear forwards;
}
.bhs-product-slide-card.bhs-product-slide-enter{
    animation:bhsProductSlideEnter .65s cubic-bezier(.2,.8,.2,1);
}
@keyframes bhsProductSliderProgress{
    from{width:0}
    to{width:100%}
}
@keyframes bhsProductSlideEnter{
    from{
        opacity:.4;
        transform:translateX(20px) scale(.96);
    }
    to{
        opacity:1;
        transform:translateX(0) scale(1);
    }
}
@media(max-width:1100px){
    .bhs-product-slide-card{
        flex-basis:calc((100% - 28px)/3);
    }
}
@media(max-width:850px){
    .bhs-product-slider-head{
        flex-direction:column;
        align-items:flex-start;
        gap:24px;
    }
    .bhs-product-slider-actions{
        width:100%;
        justify-content:space-between;
    }
    .bhs-product-slide-card{
        flex-basis:calc((100% - 14px)/2);
    }
}
@media(max-width:560px){
    .bhs-product-slider{
        padding:75px 16px;
    }
    .bhs-product-slider-head{
        margin-bottom:32px;
    }
    .bhs-product-slider-head h2{
        font-size:38px;
        letter-spacing:-1.7px;
    }
    .bhs-product-slider-actions{
        align-items:stretch;
    }
    .bhs-product-slider-all{
        flex:1;
        justify-content:center;
    }
    .bhs-product-slider-shell{
        padding:10px 10px 25px;
        border-radius:24px;
    }
    .bhs-product-slide-card{
        flex-basis:100%;
        padding:16px;
        border-radius:18px;
    }
    .bhs-product-slide-image{
        height:300px;
    }
}

.bhs-orderflow{
    padding:20px 5% 100px;
    background:white;
}

.bhs-orderflow-card{
    max-width:1440px;
    margin:0 auto;
    padding:52px;
    background:#F6F2EF;
    border:10px solid white;
    border-radius:30px;
    box-shadow:0 20px 60px rgba(0,0,0,.06);
    overflow:hidden;
}

.bhs-orderflow-head{
    margin-bottom:42px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:50px;
}

.bhs-orderflow-heading{
    max-width:650px;
}

.bhs-orderflow-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:11px;
    padding:8px 13px;
    background:white;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-orderflow-kicker::before{
    content:"";
    width:26px;
    height:1px;
    background:#000;
}

.bhs-orderflow-head h2{
    margin:0;
    font-size:clamp(34px,3.5vw,50px);
    line-height:1.05;
    letter-spacing:-1.8px;
    font-weight:500;
}

.bhs-orderflow-head>p{
    max-width:420px;
    margin:0;
    font-size:15px;
    line-height:1.8;
}

.bhs-orderflow-journey-wrap{
    position:relative;
    padding:14px;
    background:white;
    border-radius:26px;
}

.bhs-orderflow-journey{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}

.bhs-orderflow-progress{
    position:absolute;
    left:14px;
    right:14px;
    top:0;
    height:4px;
    background:#F6F2EF;
    border-radius:20px;
    overflow:hidden;
}

.bhs-orderflow-progress span{
    display:block;
    width:25%;
    height:100%;
    background:#000;
    border-radius:20px;
    transition:width .7s cubic-bezier(.2,.8,.2,1);
}

.bhs-orderflow-step{
    position:relative;
    min-height:320px;
    padding:22px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    background:#F6F2EF;
    border-radius:20px;
    overflow:hidden;
    cursor:pointer;
    transition:
        background .55s ease,
        transform .55s cubic-bezier(.2,.8,.2,1),
        border-radius .55s ease,
        box-shadow .55s ease;
}

.bhs-orderflow-step::before{
    content:"";
    position:absolute;
    width:170px;
    height:170px;
    right:-90px;
    bottom:-90px;
    background:white;
    border-radius:50%;
    opacity:.5;
    transform:scale(.7);
    transition:transform .6s ease,opacity .6s ease;
}

.bhs-orderflow-step::after{
    content:"";
    position:absolute;
    width:80px;
    height:80px;
    right:20px;
    top:85px;
    border:1px solid white;
    border-radius:50%;
    transition:transform .6s ease,width .6s ease,height .6s ease;
}

.bhs-orderflow-step:hover{
    transform:translateY(-5px);
}

.bhs-orderflow-step.bhs-orderflow-active{
    background:white;
    transform:translateY(-10px);
    border-radius:32px 20px 32px 20px;
    box-shadow:0 20px 45px rgba(0,0,0,.08);
}

.bhs-orderflow-step.bhs-orderflow-active::before{
    transform:scale(1.4);
    opacity:1;
}

.bhs-orderflow-step.bhs-orderflow-active::after{
    width:110px;
    height:110px;
    transform:rotate(30deg);
    border-color:#F6F2EF;
}

.bhs-orderflow-current{
    position:absolute;
    left:18px;
    top:16px;
    z-index:4;
    padding:7px 10px;
    background:#F6F2EF;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
    opacity:0;
    transform:translateY(-7px);
    transition:opacity .4s ease,transform .4s ease;
}

.bhs-orderflow-active .bhs-orderflow-current{
    opacity:1;
    transform:translateY(0);
}

.bhs-orderflow-big-number{
    position:absolute;
    top:-18px;
    right:10px;
    font-size:96px;
    line-height:1;
    font-weight:600;
    letter-spacing:-7px;
    color:white;
    opacity:.8;
    transition:color .5s ease,transform .5s ease;
}

.bhs-orderflow-active .bhs-orderflow-big-number{
    color:#F6F2EF;
    transform:translateY(8px) rotate(-5deg);
}

.bhs-orderflow-icon{
    position:relative;
    z-index:3;
    width:64px;
    height:64px;
    margin-bottom:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:20px;
    font-size:20px;
    box-shadow:0 8px 22px rgba(0,0,0,.04);
    transition:
        transform .5s cubic-bezier(.2,.8,.2,1),
        border-radius .5s ease,
        background .5s ease;
}

.bhs-orderflow-active .bhs-orderflow-icon{
    background:#F6F2EF;
    transform:translateY(-7px) rotate(-8deg) scale(1.08);
    border-radius:50%;
}

.bhs-orderflow-copy{
    position:relative;
    z-index:4;
}

.bhs-orderflow-copy>span{
    display:inline-flex;
    margin-bottom:8px;
    padding:6px 10px;
    background:white;
    border-radius:20px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-orderflow-active .bhs-orderflow-copy>span{
    background:#F6F2EF;
}

.bhs-orderflow-copy h3{
    margin:0 0 9px;
    font-size:21px;
    line-height:1.15;
    letter-spacing:-.6px;
    font-weight:500;
}

.bhs-orderflow-copy p{
    margin:0;
    font-size:14px;
    line-height:1.7;
}

.bhs-orderflow-timer{
    position:absolute;
    left:18px;
    right:18px;
    bottom:0;
    height:3px;
    overflow:hidden;
}

.bhs-orderflow-timer span{
    display:block;
    width:0;
    height:100%;
    background:#000;
}

.bhs-orderflow-active .bhs-orderflow-timer span{
    animation:bhsOrderflowTimer 3.8s linear forwards;
}

.bhs-orderflow-bottom{
    margin-top:18px;
    padding:14px 15px 14px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    background:white;
    border-radius:18px;
}

.bhs-orderflow-bottom-copy{
    display:flex;
    align-items:center;
    gap:12px;
}

.bhs-orderflow-bottom-copy>span{
    width:40px;
    height:40px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F6F2EF;
    border-radius:50%;
    font-size:13px;
}

.bhs-orderflow-bottom-copy strong{
    display:block;
    margin-bottom:3px;
    font-size:14px;
    font-weight:600;
}

.bhs-orderflow-bottom-copy p{
    margin:0;
    font-size:14px;
}

.bhs-orderflow-button{
    padding:7px 7px 7px 18px;
    display:inline-flex;
    align-items:center;
    gap:14px;
    background:#F6F2EF;
    color:inherit;
    text-decoration:none;
    border-radius:30px;
    font-size:14px;
    font-weight:600;
    white-space:nowrap;
    transition:transform .35s ease,box-shadow .35s ease;
}

.bhs-orderflow-button>span{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:50%;
    transition:transform .35s ease,border-radius .35s ease;
}

.bhs-orderflow-button:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 25px rgba(0,0,0,.06);
}

.bhs-orderflow-button:hover>span{
    transform:translateX(4px) rotate(-8deg);
    border-radius:14px;
}

@keyframes bhsOrderflowTimer{
    from{width:0}
    to{width:100%}
}

@media(max-width:1000px){
    .bhs-orderflow-journey{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:650px){
    .bhs-orderflow{
        padding:16px 16px 75px;
    }

    .bhs-orderflow-card{
        padding:28px 16px;
        border-width:6px;
        border-radius:24px;
    }

    .bhs-orderflow-head{
        margin-bottom:34px;
        flex-direction:column;
        align-items:flex-start;
        gap:15px;
    }

    .bhs-orderflow-head h2{
        font-size:36px;
        letter-spacing:-1.6px;
    }

    .bhs-orderflow-journey-wrap{
        padding:10px;
        border-radius:20px;
    }

    .bhs-orderflow-journey{
        grid-template-columns:1fr;
    }

    .bhs-orderflow-step{
        min-height:245px;
    }

    .bhs-orderflow-step.bhs-orderflow-active{
        transform:none;
    }

    .bhs-orderflow-bottom{
        flex-direction:column;
        align-items:stretch;
    }

    .bhs-orderflow-button{
        justify-content:space-between;
    }
}

.bhs-global-cta{
    padding:20px 5% 24px;
    background:white;
    overflow:hidden;
}

.bhs-global-cta-card{
    position:relative;
    max-width:1440px;
    min-height:285px;
    margin:0 auto;
    padding:48px 52px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    align-items:center;
    gap:70px;
    background:#F6F2EF;
    border:10px solid white;
    border-radius:30px;
    box-shadow:0 20px 60px rgba(0,0,0,.06);
    overflow:hidden;
}

.bhs-global-cta-copy{
    position:relative;
    z-index:5;
    max-width:720px;
}

.bhs-global-cta-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:11px;
    padding:8px 13px;
    background:white;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-global-cta-kicker::before{
    content:"";
    width:7px;
    height:7px;
    background:#F6F2EF;
    border:3px solid white;
    outline:1px solid #F6F2EF;
    border-radius:50%;
    animation:bhsGlobalCtaPulse 1.8s ease-in-out infinite;
}

.bhs-global-cta-copy h2{
    max-width:680px;
    margin:0 0 13px;
    font-size:clamp(32px,3.4vw,48px);
    line-height:1.05;
    letter-spacing:-1.8px;
    font-weight:500;
}

.bhs-global-cta-copy p{
    max-width:590px;
    margin:0;
    font-size:14px;
    line-height:1.75;
}

.bhs-global-cta-actions{
    position:relative;
    z-index:6;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
}

.bhs-global-cta-button{
    width:100%;
    min-height:60px;
    padding:7px 7px 7px 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    background:white;
    color:inherit;
    text-decoration:none;
    border-radius:30px;
    font-size:14px;
    font-weight:600;
    box-shadow:0 12px 30px rgba(0,0,0,.05);
    transition:transform .35s ease,box-shadow .35s ease;
}

.bhs-global-cta-button>i{
    width:46px;
    height:46px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F6F2EF;
    border-radius:50%;
    transition:transform .4s cubic-bezier(.2,.8,.2,1),border-radius .35s ease;
}

.bhs-global-cta-button:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 38px rgba(0,0,0,.08);
}

.bhs-global-cta-button:hover>i{
    transform:translateX(3px) rotate(-8deg);
    border-radius:14px;
}

.bhs-global-cta-phone{
    width:100%;
    min-height:58px;
    padding:8px 14px;
    display:flex;
    align-items:center;
    gap:12px;
    background:rgba(255,255,255,.68);
    color:inherit;
    text-decoration:none;
    border-radius:18px;
    backdrop-filter:blur(12px);
    transition:background .3s ease,transform .3s ease;
}

.bhs-global-cta-phone:hover{
    background:white;
    transform:translateY(-2px);
}

.bhs-global-cta-phone-icon{
    width:40px;
    height:40px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:50%;
    font-size:11px;
}

.bhs-global-cta-phone-copy{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.bhs-global-cta-phone-copy small{
    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;
    opacity:.6;
}

.bhs-global-cta-phone-copy strong{
    font-size:14px;
    font-weight:600;
}

.bhs-global-cta-bg-motion{
    position:absolute;
    width:650px;
    height:650px;
    right:40px;
    top:50%;
    transform:translateY(-50%);
    z-index:1;
    pointer-events:none;
    opacity:.75;
    transition:transform .5s ease;
}

.bhs-global-cta-orbit{
    position:absolute;
    left:50%;
    top:50%;
    border:1px solid white;
    border-radius:50%;
}

.bhs-global-cta-orbit-one{
    width:580px;
    height:580px;
    margin:-290px 0 0 -290px;
    animation:bhsGlobalCtaSpin 28s linear infinite;
}

.bhs-global-cta-orbit-two{
    width:430px;
    height:430px;
    margin:-215px 0 0 -215px;
    animation:bhsGlobalCtaSpinReverse 21s linear infinite;
}

.bhs-global-cta-orbit-three{
    width:270px;
    height:270px;
    margin:-135px 0 0 -135px;
    background:rgba(255,255,255,.18);
    animation:bhsGlobalCtaMorph 8s ease-in-out infinite;
}

.bhs-global-cta-orbit-one::before,
.bhs-global-cta-orbit-two::before{
    content:"";
    position:absolute;
    border-radius:50%;
    background:white;
}

.bhs-global-cta-orbit-one::before{
    width:22px;
    height:22px;
    top:70px;
    left:85px;
}

.bhs-global-cta-orbit-two::before{
    width:15px;
    height:15px;
    right:22px;
    top:50%;
}

.bhs-global-cta-bg-dot{
    position:absolute;
    display:block;
    border-radius:50%;
    background:white;
}

.bhs-global-cta-bg-dot-one{
    width:42px;
    height:42px;
    left:55px;
    top:200px;
    animation:bhsGlobalCtaFloat 4s ease-in-out infinite;
}

.bhs-global-cta-bg-dot-two{
    width:24px;
    height:24px;
    right:75px;
    top:145px;
    animation:bhsGlobalCtaFloatReverse 5s ease-in-out infinite;
}

.bhs-global-cta-bg-dot-three{
    width:32px;
    height:32px;
    right:130px;
    bottom:100px;
    animation:bhsGlobalCtaFloat 5.5s ease-in-out infinite;
}

.bhs-global-cta-copy,
.bhs-global-cta-actions{
    opacity:1;
    transform:translateY(0);
}

.bhs-global-cta.bhs-global-cta-animate .bhs-global-cta-copy,
.bhs-global-cta.bhs-global-cta-animate .bhs-global-cta-actions{
    opacity:0;
    transform:translateY(20px);
}

.bhs-global-cta-visible .bhs-global-cta-copy{
    animation:bhsGlobalCtaReveal .75s ease forwards;
}

.bhs-global-cta-visible .bhs-global-cta-actions{
    animation:bhsGlobalCtaReveal .75s ease forwards .18s;
}

@keyframes bhsGlobalCtaReveal{
    from{
        opacity:0;
        transform:translateY(20px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes bhsGlobalCtaPulse{
    0%,100%{transform:scale(1)}
    50%{transform:scale(1.4)}
}

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

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

@keyframes bhsGlobalCtaMorph{
    0%,100%{
        transform:rotate(0);
        border-radius:50%;
    }
    50%{
        transform:rotate(28deg);
        border-radius:38% 62% 57% 43% / 55% 40% 60% 45%;
    }
}

@keyframes bhsGlobalCtaFloat{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-15px)}
}

@keyframes bhsGlobalCtaFloatReverse{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(13px)}
}

@media(max-width:950px){
    .bhs-global-cta-card{
        grid-template-columns:1fr;
        gap:28px;
    }

    .bhs-global-cta-actions{
        max-width:420px;
    }

    .bhs-global-cta-bg-motion{
        right:-220px;
        opacity:.45;
    }
}

@media(max-width:600px){
    .bhs-global-cta{
        padding:16px 16px 20px;
    }

    .bhs-global-cta-card{
        min-height:auto;
        padding:34px 22px;
        border-width:6px;
        border-radius:24px;
        gap:25px;
    }

    .bhs-global-cta-copy h2{
        font-size:35px;
        letter-spacing:-1.5px;
    }

    .bhs-global-cta-actions{
        max-width:none;
    }

    .bhs-global-cta-bg-motion{
        width:500px;
        height:500px;
        right:-290px;
        opacity:.28;
    }
}

.bhs-footer{
    padding:0 5% 28px;
    background:white;
}
.bhs-footer-card{
    position:relative;
    max-width:1440px;
    margin:0 auto;
    padding:48px 48px 22px;
    background:#F6F2EF;
    border:10px solid white;
    border-radius:30px;
    overflow:hidden;
    box-shadow:0 20px 60px rgba(0,0,0,.05);
}
.bhs-footer-main{
    display:grid;
    grid-template-columns:1.2fr .7fr 1.2fr 1fr;
    gap:45px;
    position:relative;
    z-index:3;
}
.bhs-footer-brand{
    max-width:360px;
}
.bhs-footer-logo{
    display:inline-flex;
    margin-bottom:20px;
}
.bhs-footer-logo img{
    width:auto;
    height:52px;
    max-width:190px;
    object-fit:contain;
}
.bhs-footer-brand p{
    margin:0 0 22px;
    font-size:14px;
    line-height:1.8;
}
.bhs-footer-socials{
    display:flex;
    gap:8px;
}
.bhs-footer-socials a{
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    color:inherit;
    text-decoration:none;
    border-radius:50%;
    transition:transform .35s ease,border-radius .35s ease;
}
.bhs-footer-socials a:hover{
    transform:translateY(-5px) rotate(-7deg);
    border-radius:14px;
}
.bhs-footer-title{
    display:block;
    margin-bottom:18px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}
.bhs-footer-links{
    display:flex;
    flex-direction:column;
}
.bhs-footer-links a{
    padding:9px 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    color:inherit;
    text-decoration:none;
    font-size:14px;
    border-bottom:1px solid white;
    transition:padding-left .3s ease;
}
.bhs-footer-links a:hover{
    padding-left:7px;
}
.bhs-footer-links i{
    font-size:9px;
    opacity:.45;
}
.bhs-footer-contact{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.bhs-footer-contact-item{
    padding:10px;
    display:flex;
    align-items:center;
    gap:11px;
    background:white;
    color:inherit;
    text-decoration:none;
    border-radius:16px;
    transition:transform .35s ease,border-radius .35s ease;
}
.bhs-footer-contact-item:hover{
    transform:translateX(6px);
    border-radius:24px 16px 24px 16px;
}
.bhs-footer-contact-item>span{
    width:38px;
    height:38px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F6F2EF;
    border-radius:12px;
    font-size:13px;
}
.bhs-footer-contact-item div{
    min-width:0;
}
.bhs-footer-contact-item small{
    display:block;
    margin-bottom:2px;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:0.6px;
    opacity:.55;
}
.bhs-footer-contact-item strong{
    display:block;
    font-size:14px;
    font-weight:600;
    overflow-wrap:anywhere;
}
.bhs-footer-address{
    padding:17px;
    display:flex;
    align-items:flex-start;
    gap:12px;
    background:white;
    border-radius:18px;
}
.bhs-footer-address>span{
    width:40px;
    height:40px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F6F2EF;
    border-radius:50%;
    font-size:13px;
}
.bhs-footer-address p{
    margin:0;
    font-size:14px;
    line-height:1.7;
}
.bhs-footer-location-link{
    margin-top:12px;
    min-height:46px;
    padding:0 15px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:white;
    color:inherit;
    text-decoration:none;
    border-radius:14px;
    font-size:14px;
    font-weight:600;
    transition:transform .35s ease,border-radius .35s ease;
}
.bhs-footer-location-link:hover{
    transform:translateY(-4px);
    border-radius:22px;
}
.bhs-footer-middle{
    position:relative;
    margin-top:38px;
    min-height:110px;
    padding:24px 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    background:white;
    border-radius:20px;
    overflow:hidden;
}
.bhs-footer-middle-copy{
    position:relative;
    z-index:3;
    display:flex;
    flex-direction:column;
    gap:5px;
}
.bhs-footer-middle-copy span{
    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;
}
.bhs-footer-middle-copy strong{
    font-size:clamp(20px,2.5vw,34px);
    line-height:1.1;
    letter-spacing:-1.2px;
    font-weight:500;
}
.bhs-footer-motion{
    position:absolute;
    right:25px;
    top:50%;
    width:300px;
    height:300px;
    transform:translateY(-50%);
}
.bhs-footer-motion span{
    position:absolute;
    left:50%;
    top:50%;
    border:1px solid #F6F2EF;
    border-radius:50%;
}
.bhs-footer-motion span:nth-child(1){
    width:280px;
    height:280px;
    margin:-140px 0 0 -140px;
    animation:bhsFooterSpin 22s linear infinite;
}
.bhs-footer-motion span:nth-child(2){
    width:210px;
    height:210px;
    margin:-105px 0 0 -105px;
    animation:bhsFooterSpinReverse 17s linear infinite;
}
.bhs-footer-motion span:nth-child(3){
    width:130px;
    height:130px;
    margin:-65px 0 0 -65px;
    background:#F6F2EF;
    animation:bhsFooterMorph 7s ease-in-out infinite;
}
.bhs-footer-motion span:nth-child(4){
    width:28px;
    height:28px;
    left:42px;
    top:70px;
    background:#F6F2EF;
    border:0;
    animation:bhsFooterFloat 4s ease-in-out infinite;
}
.bhs-footer-bottom{
    margin-top:18px;
    padding-top:18px;
    display:grid;
    grid-template-columns:1fr auto auto;
    align-items:center;
    gap:25px;
    border-top:1px solid white;
}
.bhs-footer-bottom p{
    margin:0;
    font-size:14px;
}
.bhs-footer-bottom-links{
    display:flex;
    align-items:center;
    gap:18px;
}
.bhs-footer-bottom-links a{
    color:inherit;
    text-decoration:none;
    font-size:14px;
}
.bhs-footer-top{
    display:flex;
    align-items:center;
    gap:10px;
    color:inherit;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
}
.bhs-footer-top span{
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:50%;
    transition:transform .35s ease;
}
.bhs-footer-top:hover span{
    transform:translateY(-5px);
}
.bhs-footer-main>*,
.bhs-footer-middle,
.bhs-footer-bottom{
    opacity:1;
    transform:translateY(0);
}

.bhs-footer.bhs-footer-animate .bhs-footer-main>*,
.bhs-footer.bhs-footer-animate .bhs-footer-middle,
.bhs-footer.bhs-footer-animate .bhs-footer-bottom{
    opacity:0;
    transform:translateY(20px);
}
.bhs-footer.bhs-footer-visible .bhs-footer-main>*{
    animation:bhsFooterReveal .7s ease forwards;
}

.bhs-footer.bhs-footer-visible .bhs-footer-main>*:nth-child(1){
    animation-delay:.05s;
}

.bhs-footer.bhs-footer-visible .bhs-footer-main>*:nth-child(2){
    animation-delay:.15s;
}

.bhs-footer.bhs-footer-visible .bhs-footer-main>*:nth-child(3){
    animation-delay:.25s;
}

.bhs-footer.bhs-footer-visible .bhs-footer-main>*:nth-child(4){
    animation-delay:.35s;
}

.bhs-footer.bhs-footer-visible .bhs-footer-middle{
    animation:bhsFooterReveal .7s ease forwards .45s;
}

.bhs-footer.bhs-footer-visible .bhs-footer-bottom{
    animation:bhsFooterReveal .7s ease forwards .55s;
}

@keyframes bhsFooterReveal{
    from{
        opacity:0;
        transform:translateY(20px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}
@keyframes bhsFooterSpin{
    to{transform:rotate(360deg)}
}
@keyframes bhsFooterSpinReverse{
    to{transform:rotate(-360deg)}
}
@keyframes bhsFooterMorph{
    0%,100%{border-radius:50%;transform:rotate(0)}
    50%{border-radius:40% 60% 56% 44% / 60% 42% 58% 40%;transform:rotate(25deg)}
}
@keyframes bhsFooterFloat{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-12px)}
}
@media(max-width:1100px){
    .bhs-footer-main{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:700px){
    .bhs-footer{
        padding:0 16px 20px;
    }
    .bhs-footer-card{
        padding:30px 20px 18px;
        border-width:6px;
        border-radius:24px;
    }
    .bhs-footer-main{
        grid-template-columns:1fr;
        gap:32px;
    }
    .bhs-footer-middle{
        min-height:130px;
        padding:22px;
    }
    .bhs-footer-motion{
        right:-150px;
        opacity:.5;
    }
    .bhs-footer-bottom{
        grid-template-columns:1fr;
        gap:14px;
    }
    .bhs-footer-bottom-links{
        flex-wrap:wrap;
    }
    .bhs-footer-top{
        width:max-content;
    }
}

.bhs-about-edge{
    padding:34px 5% 90px;
    background:white;
    overflow:hidden;
}

.bhs-about-edge-inner{
    position:relative;
    max-width:1440px;
    min-height:590px;
    margin:0 auto;
    padding:65px 60px 0;
    display:flex;
    align-items:center;
    background:#F6F2EF;
    border-radius:32px;
    overflow:hidden;
}

.bhs-about-edge-copy{
    position:relative;
    z-index:6;
    max-width:820px;
    padding-bottom:95px;
    opacity:1;
    transform:translateY(0);
}

.bhs-about-edge-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:18px;
    padding:8px 13px;
    background:white;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-about-edge-kicker::before{
    content:"";
    width:7px;
    height:7px;
    background:#F6F2EF;
    border:3px solid white;
    outline:1px solid #F6F2EF;
    border-radius:50%;
    animation:bhsAboutEdgePulse 1.8s ease-in-out infinite;
}

.bhs-about-edge-copy h1{
    margin:0;
    max-width:850px;
    font-size:clamp(64px,7.2vw,108px);
    line-height:.88;
    letter-spacing:-5px;
    font-weight:500;
}

.bhs-about-edge-copy h1 span{
    display:block;
    position:relative;
    width:max-content;
    max-width:100%;
}

.bhs-about-edge-copy h1 span::after{
    content:"";
    position:absolute;
    left:0;
    bottom:2px;
    width:100%;
    height:11px;
    background:white;
    border-radius:20px;
    z-index:-1;
    transform-origin:left;
}

.bhs-about-edge-copy p{
    margin:24px 0 0;
    max-width:500px;
    font-size:16px;
    line-height:1.7;
}

.bhs-about-edge-actions{
    margin-top:28px;
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
}

.bhs-about-edge-primary{
    min-height:58px;
    padding:7px 7px 7px 20px;
    display:inline-flex;
    align-items:center;
    gap:18px;
    background:white;
    color:inherit;
    text-decoration:none;
    border-radius:30px;
    font-size:14px;
    font-weight:600;
    box-shadow:0 12px 30px rgba(0,0,0,.05);
    transition:transform .35s ease,box-shadow .35s ease;
}

.bhs-about-edge-primary>span{
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F6F2EF;
    border-radius:50%;
    transition:transform .35s ease,border-radius .35s ease;
}

.bhs-about-edge-primary:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 38px rgba(0,0,0,.08);
}

.bhs-about-edge-primary:hover>span{
    transform:translateY(3px) rotate(-8deg);
    border-radius:14px;
}

.bhs-about-edge-link{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:inherit;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
}

.bhs-about-edge-link i{
    transition:transform .3s ease;
}

.bhs-about-edge-link:hover i{
    transform:translateX(5px);
}

.bhs-about-edge-word{
    position:absolute;
    right:-20px;
    top:50%;
    z-index:2;
    transform:translateY(-50%) rotate(90deg);
    transform-origin:center;
    opacity:.42;
    pointer-events:none;
}

.bhs-about-edge-word span{
    display:block;
    font-size:150px;
    line-height:1;
    font-weight:600;
    letter-spacing:-8px;
    color:white;
    white-space:nowrap;
    animation:bhsAboutEdgeWord 7s ease-in-out infinite;
}

.bhs-about-edge-note{
    position:absolute;
    right:60px;
    bottom:95px;
    z-index:5;
    width:245px;
    padding:13px;
    display:flex;
    align-items:center;
    gap:12px;
    background:white;
    border-radius:18px;
    box-shadow:0 14px 35px rgba(0,0,0,.05);
    animation:bhsAboutEdgeNote 4.5s ease-in-out infinite;
}

.bhs-about-edge-note>span{
    width:42px;
    height:42px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F6F2EF;
    border-radius:50%;
    font-size:13px;
}

.bhs-about-edge-note p{
    margin:0;
    font-size:14px;
    line-height:1.6;
    font-weight:600;
}

.bhs-about-edge-bg{
    position:absolute;
    inset:0;
    pointer-events:none;
    overflow:hidden;
}

.bhs-about-edge-blob{
    position:absolute;
    border-radius:50%;
    background:white;
}

.bhs-about-edge-blob-one{
    width:520px;
    height:520px;
    right:-170px;
    top:-220px;
    opacity:.55;
    animation:bhsAboutEdgeBlobOne 9s ease-in-out infinite;
}

.bhs-about-edge-blob-two{
    width:300px;
    height:300px;
    right:180px;
    bottom:-170px;
    opacity:.35;
    animation:bhsAboutEdgeBlobTwo 8s ease-in-out infinite;
}

.bhs-about-edge-circle{
    position:absolute;
    width:380px;
    height:380px;
    right:50px;
    top:50%;
    border:1px solid white;
    border-radius:50%;
    transform:translateY(-50%);
    animation:bhsAboutEdgeSpin 24s linear infinite;
}

.bhs-about-edge-circle::before{
    content:"";
    position:absolute;
    width:22px;
    height:22px;
    left:38px;
    top:54px;
    background:white;
    border-radius:50%;
}

.bhs-about-edge-rail{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:7;
    height:62px;
    display:flex;
    align-items:center;
    background:white;
    overflow:hidden;
}

.bhs-about-edge-rail-track{
    display:flex;
    align-items:center;
    width:max-content;
    flex-shrink:0;
    will-change:transform;
    animation:bhsAboutEdgeRailLoop 28s linear infinite;
}

.bhs-about-edge-rail-group{
    display:flex;
    align-items:center;
    flex-shrink:0;
    gap:28px;
    padding-right:28px;
    white-space:nowrap;
}

.bhs-about-edge-rail-group span{
    flex-shrink:0;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-about-edge-rail-group i{
    flex-shrink:0;
    font-size:4px;
}

@keyframes bhsAboutEdgeRailLoop{
    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-25%);
    }
}

.bhs-about-edge.bhs-about-edge-animate .bhs-about-edge-copy{
    opacity:0;
    transform:translateY(24px);
}

.bhs-about-edge.bhs-about-edge-visible .bhs-about-edge-copy{
    animation:bhsAboutEdgeReveal .8s ease forwards;
}

@keyframes bhsAboutEdgeReveal{
    from{
        opacity:0;
        transform:translateY(24px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes bhsAboutEdgePulse{
    0%,100%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.4);
    }
}

@keyframes bhsAboutEdgeWord{
    0%,100%{
        transform:translateX(0);
    }

    50%{
        transform:translateX(20px);
    }
}

@keyframes bhsAboutEdgeNote{
    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-10px);
    }
}

@keyframes bhsAboutEdgeBlobOne{
    0%,100%{
        transform:translate(0,0) scale(1);
        border-radius:50%;
    }

    50%{
        transform:translate(-25px,30px) scale(1.08);
        border-radius:42% 58% 63% 37% / 48% 42% 58% 52%;
    }
}

@keyframes bhsAboutEdgeBlobTwo{
    0%,100%{
        transform:translate(0,0);
    }

    50%{
        transform:translate(20px,-24px);
    }
}

@keyframes bhsAboutEdgeSpin{
    to{
        transform:translateY(-50%) rotate(360deg);
    }
}


@media(max-width:950px){
    .bhs-about-edge-inner{
        min-height:620px;
    }

    .bhs-about-edge-word{
        right:-130px;
        opacity:.28;
    }

    .bhs-about-edge-note{
        right:35px;
    }
}

@media(max-width:650px){
    .bhs-about-edge{
        padding:20px 16px 70px;
    }

    .bhs-about-edge-inner{
        min-height:590px;
        padding:44px 22px 0;
        border-radius:24px;
        align-items:flex-start;
    }

    .bhs-about-edge-copy{
        padding-bottom:100px;
    }

    .bhs-about-edge-copy h1{
        font-size:56px;
        line-height:.92;
        letter-spacing:-3px;
    }

    .bhs-about-edge-copy p{
        font-size:14px;
    }

    .bhs-about-edge-word{
        right:-195px;
        top:62%;
        opacity:.23;
    }

    .bhs-about-edge-word span{
        font-size:110px;
    }

    .bhs-about-edge-note{
        right:18px;
        bottom:82px;
        width:210px;
    }

    .bhs-about-edge-circle{
        width:280px;
        height:280px;
        right:-150px;
    }

    .bhs-about-edge-actions{
        align-items:flex-start;
        flex-direction:column;
    }
}

.bhs-storyline{
    padding:20px 5% 100px;
    background:white;
}

.bhs-storyline-inner{
    max-width:1440px;
    margin:0 auto;
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    align-items:stretch;
    gap:24px;
}

.bhs-storyline-copy{
    padding:55px 45px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.bhs-storyline-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    width:max-content;
    margin-bottom:16px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-storyline-kicker::before{
    content:"";
    width:28px;
    height:1px;
    background:#000;
}

.bhs-storyline-copy h2{
    margin:0;
    max-width:650px;
    font-size:clamp(40px,4.5vw,66px);
    line-height:1.02;
    letter-spacing:-2.8px;
    font-weight:500;
}

.bhs-storyline-copy h2 span{
    display:block;
    position:relative;
    width:max-content;
    max-width:100%;
}

.bhs-storyline-copy h2 span::after{
    content:"";
    position:absolute;
    left:0;
    bottom:2px;
    width:100%;
    height:8px;
    background:#F6F2EF;
    border-radius:20px;
    z-index:-1;
}

.bhs-storyline-copy p{
    max-width:650px;
    margin:18px 0 0;
    font-size:14px;
    line-height:1.8;
}

.bhs-storyline-link{
    width:max-content;
    margin-top:28px;
    display:inline-flex;
    align-items:center;
    gap:14px;
    color:inherit;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
}

.bhs-storyline-link>span{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F6F2EF;
    border-radius:50%;
    transition:transform .35s ease,border-radius .35s ease;
}

.bhs-storyline-link:hover>span{
    transform:translateX(5px) rotate(-8deg);
    border-radius:14px;
}

.bhs-storyline-panel{
    position:relative;
    min-height:560px;
    padding:34px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:#F6F2EF;
    border-radius:30px;
    overflow:hidden;
}

.bhs-storyline-panel-word{
    position:absolute;
    right:-25px;
    top:-22px;
    font-size:120px;
    line-height:1;
    font-weight:600;
    letter-spacing:-7px;
    color:white;
    opacity:.8;
    pointer-events:none;
}

.bhs-storyline-panel-head{
    position:relative;
    z-index:3;
    margin-bottom:18px;
    padding:0 6px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.bhs-storyline-panel-head span{
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-storyline-panel-head small{
    font-size:13px;
    letter-spacing:0.6px;
    opacity:.5;
}

.bhs-storyline-list{
    position:relative;
    z-index:3;
    display:flex;
    flex-direction:column;
    gap:9px;
}

.bhs-storyline-item{
    min-height:125px;
    padding:18px;
    display:grid;
    grid-template-columns:45px 1fr 44px;
    align-items:center;
    gap:14px;
    background:rgba(255,255,255,.42);
    border-radius:18px;
    cursor:pointer;
    transition:
        background .5s ease,
        transform .5s cubic-bezier(.2,.8,.2,1),
        border-radius .5s ease,
        box-shadow .5s ease;
}

.bhs-storyline-item-active{
    background:white;
    transform:translateX(-12px);
    border-radius:28px 18px 28px 18px;
    box-shadow:0 18px 42px rgba(0,0,0,.06);
}

.bhs-storyline-number{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:50%;
    font-size:13px;
    font-weight:600;
    transition:background .4s ease,transform .4s ease;
}

.bhs-storyline-item-active .bhs-storyline-number{
    background:#F6F2EF;
    transform:rotate(-8deg) scale(1.08);
}

.bhs-storyline-item-copy{
    position:relative;
    z-index:2;
}

.bhs-storyline-item-copy small{
    display:block;
    margin-bottom:5px;
    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;
    opacity:.55;
}

.bhs-storyline-item-copy h3{
    margin:0;
    max-width:520px;
    font-size:20px;
    line-height:1.25;
    letter-spacing:-.5px;
    font-weight:500;
}

.bhs-storyline-arrow{
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:50%;
    font-size:11px;
    transition:transform .4s ease,border-radius .4s ease;
}

.bhs-storyline-item-active .bhs-storyline-arrow{
    background:#F6F2EF;
    transform:rotate(-8deg);
    border-radius:14px;
}

.bhs-storyline-progress{
    position:relative;
    z-index:3;
    margin-top:18px;
    height:4px;
    background:white;
    border-radius:20px;
    overflow:hidden;
}

.bhs-storyline-progress span{
    display:block;
    width:33.333%;
    height:100%;
    background:#000;
    border-radius:20px;
    transition:width .65s cubic-bezier(.2,.8,.2,1);
}

.bhs-storyline.bhs-storyline-animate .bhs-storyline-copy,
.bhs-storyline.bhs-storyline-animate .bhs-storyline-panel{
    opacity:0;
    transform:translateY(24px);
}

.bhs-storyline.bhs-storyline-visible .bhs-storyline-copy{
    animation:bhsStorylineReveal .75s ease forwards;
}

.bhs-storyline.bhs-storyline-visible .bhs-storyline-panel{
    animation:bhsStorylineReveal .75s ease forwards .15s;
}

@keyframes bhsStorylineReveal{
    from{
        opacity:0;
        transform:translateY(24px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@media(max-width:1000px){
    .bhs-storyline-inner{
        grid-template-columns:1fr;
    }

    .bhs-storyline-copy{
        padding:30px 10px;
    }
}

@media(max-width:650px){
    .bhs-storyline{
        padding:16px 16px 75px;
    }

    .bhs-storyline-copy{
        padding:20px 4px;
    }

    .bhs-storyline-copy h2{
        font-size:42px;
        letter-spacing:-2px;
    }

    .bhs-storyline-panel{
        min-height:auto;
        padding:22px 14px;
        border-radius:24px;
    }

    .bhs-storyline-panel-word{
        font-size:80px;
        right:-18px;
        top:-10px;
    }

    .bhs-storyline-item{
        min-height:115px;
        padding:14px;
        grid-template-columns:38px 1fr 36px;
        gap:10px;
    }

    .bhs-storyline-item-active{
        transform:none;
    }

    .bhs-storyline-item-copy h3{
        font-size:16px;
    }

    .bhs-storyline-arrow{
        width:34px;
        height:34px;
    }
}

.bhs-purpose-zigzag{
    padding:90px 5%;
    background:white;
    overflow:hidden;
}

.bhs-purpose-zigzag-inner{
    max-width:1440px;
    margin:0 auto;
}

.bhs-purpose-zigzag-head{
    max-width:780px;
    margin-bottom:42px;
}

.bhs-purpose-zigzag-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:14px;
    padding:8px 13px;
    background:#F6F2EF;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-purpose-zigzag-kicker::before{
    content:"";
    width:7px;
    height:7px;
    background:white;
    border:3px solid #F6F2EF;
    outline:1px solid white;
    border-radius:50%;
}

.bhs-purpose-zigzag-head h2{
    margin:0;
    font-size:clamp(38px,4.5vw,62px);
    line-height:1;
    letter-spacing:-2.4px;
    font-weight:500;
}

.bhs-purpose-zigzag-head h2 span{
    display:block;
}

.bhs-purpose-zigzag-head p{
    max-width:610px;
    margin:16px 0 0;
    font-size:14px;
    line-height:1.8;
}

.bhs-purpose-zigzag-stage{
    position:relative;
    min-height:440px;
    display:grid;
    grid-template-columns:repeat(12,1fr);
    align-items:start;
}

.bhs-purpose-zigzag-card{
    position:relative;
    min-height:220px;
    padding:22px;
    background:#F6F2EF;
    border-radius:22px;
    overflow:hidden;
    box-shadow:0 14px 35px rgba(0,0,0,.03);
}

.bhs-purpose-zigzag-card::before{
    content:"";
    position:absolute;
    width:140px;
    height:140px;
    right:-75px;
    bottom:-75px;
    background:white;
    border-radius:50%;
    opacity:.75;
}

.bhs-purpose-zigzag-card-one{
    grid-column:1 / span 4;
    margin-top:0;
    animation:bhsPurposeZigzagFloatOne 4.8s ease-in-out infinite;
}

.bhs-purpose-zigzag-card-two{
    grid-column:5 / span 4;
    margin-top:125px;
    animation:bhsPurposeZigzagFloatTwo 5.2s ease-in-out infinite;
}

.bhs-purpose-zigzag-card-three{
    grid-column:9 / span 4;
    margin-top:20px;
    animation:bhsPurposeZigzagFloatThree 5.6s ease-in-out infinite;
}

.bhs-purpose-zigzag-number{
    position:absolute;
    right:18px;
    top:16px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    opacity:.45;
}

.bhs-purpose-zigzag-icon{
    width:50px;
    height:50px;
    margin-bottom:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:16px;
    font-size:15px;
}

.bhs-purpose-zigzag-card small{
    display:block;
    margin-bottom:7px;
    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;
    opacity:.55;
}

.bhs-purpose-zigzag-card h3{
    margin:0 0 10px;
    max-width:260px;
    font-size:24px;
    line-height:1.1;
    letter-spacing:-.8px;
    font-weight:500;
}

.bhs-purpose-zigzag-card p{
    max-width:310px;
    margin:0;
    font-size:14px;
    line-height:1.7;
}

.bhs-purpose-zigzag-line{
    position:absolute;
    height:3px;
    background:rgba(0,0,0,.12);
    border-radius:20px;
    overflow:hidden;
    transform-origin:left center;
}

.bhs-purpose-zigzag-line::after{
    content:"";
    position:absolute;
    inset:0;
    width:0;
    background:#000;
    border-radius:20px;
}

.bhs-purpose-zigzag-line-one{
    left:30.5%;
    top:123px;
    width:18.5%;
    transform:rotate(24deg);
}

.bhs-purpose-zigzag-line-two{
    left:50.3%;
    top:250px;
    width:18.8%;
    transform:rotate(-25deg);
}

.bhs-purpose-zigzag-line-active::after{
    animation:bhsPurposeZigzagLine 3.2s linear forwards;
}

.bhs-purpose-zigzag.bhs-purpose-zigzag-animate .bhs-purpose-zigzag-head,
.bhs-purpose-zigzag.bhs-purpose-zigzag-animate .bhs-purpose-zigzag-stage{
    opacity:0;
    transform:translateY(22px);
}

.bhs-purpose-zigzag.bhs-purpose-zigzag-visible .bhs-purpose-zigzag-head{
    animation:bhsPurposeZigzagReveal .75s ease forwards;
}

.bhs-purpose-zigzag.bhs-purpose-zigzag-visible .bhs-purpose-zigzag-stage{
    animation:bhsPurposeZigzagReveal .75s ease forwards .15s;
}

@keyframes bhsPurposeZigzagReveal{
    from{
        opacity:0;
        transform:translateY(22px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes bhsPurposeZigzagLine{
    from{
        width:0;
    }
    to{
        width:100%;
    }
}

@keyframes bhsPurposeZigzagFloatOne{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-10px)}
}

@keyframes bhsPurposeZigzagFloatTwo{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(12px)}
}

@keyframes bhsPurposeZigzagFloatThree{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-8px)}
}

@media(max-width:950px){
    .bhs-purpose-zigzag-stage{
        min-height:auto;
        display:flex;
        flex-direction:column;
        gap:18px;
    }

    .bhs-purpose-zigzag-card-one,
    .bhs-purpose-zigzag-card-two,
    .bhs-purpose-zigzag-card-three{
        margin-top:0;
    }

    .bhs-purpose-zigzag-card-two{
        margin-left:60px;
    }

    .bhs-purpose-zigzag-card-three{
        margin-left:120px;
    }

    .bhs-purpose-zigzag-line-one,
    .bhs-purpose-zigzag-line-two{
        left:36px;
        width:3px;
        transform:none;
        background:rgba(0,0,0,.12);
    }

    .bhs-purpose-zigzag-line::after{
        width:100%;
        height:0;
    }

    .bhs-purpose-zigzag-line-one{
        top:215px;
        height:78px;
    }

    .bhs-purpose-zigzag-line-two{
        top:453px;
        height:78px;
    }

    .bhs-purpose-zigzag-line-active::after{
        animation:bhsPurposeZigzagLineMobile 3.2s linear forwards;
    }
}

@keyframes bhsPurposeZigzagLineMobile{
    from{
        height:0;
    }
    to{
        height:100%;
    }
}

@media(max-width:600px){
    .bhs-purpose-zigzag{
        padding:70px 16px;
    }

    .bhs-purpose-zigzag-head h2{
        font-size:42px;
        letter-spacing:-2px;
    }

    .bhs-purpose-zigzag-card{
        min-height:215px;
        padding:20px;
    }

    .bhs-purpose-zigzag-card-two{
        margin-left:26px;
    }

    .bhs-purpose-zigzag-card-three{
        margin-left:52px;
    }
}

.bhs-help-grid{
    padding:90px 5%;
    background:white;
    overflow:hidden;
}

.bhs-help-grid-inner{
    max-width:1440px;
    margin:0 auto;
}

.bhs-help-grid-head{
    margin-bottom:38px;
}

.bhs-help-grid-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:14px;
    padding:8px 13px;
    background:#F6F2EF;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-help-grid-kicker::before{
    content:"";
    width:7px;
    height:7px;
    background:white;
    border:3px solid #F6F2EF;
    outline:1px solid white;
    border-radius:50%;
}

.bhs-help-grid-title-row{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    align-items:end;
    gap:65px;
}

.bhs-help-grid-title-row h2{
    margin:0;
    max-width:800px;
    font-size:clamp(40px,4.6vw,64px);
    line-height:.98;
    letter-spacing:-2.7px;
    font-weight:500;
}

.bhs-help-grid-title-row h2 span{
    display:block;
}

.bhs-help-grid-title-row p{
    max-width:480px;
    margin:0;
    font-size:15px;
    line-height:1.8;
}


/* CARDS */

.bhs-help-grid-layout{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    align-items:start;
}

.bhs-help-grid-card{
    position:relative;
    min-height:320px;
    padding:21px;
    display:flex;
    flex-direction:column;
    background:#F6F2EF;
    border-radius:20px;
    overflow:hidden;
    transition:
        transform .5s cubic-bezier(.2,.8,.2,1),
        background .5s ease,
        border-radius .5s ease,
        box-shadow .5s ease;
}

.bhs-help-grid-card::before{
    content:"";
    position:absolute;
    width:150px;
    height:150px;
    right:-85px;
    bottom:-85px;
    background:white;
    border-radius:50%;
    transform:scale(.7);
    transition:transform .6s ease;
}

.bhs-help-grid-card::after{
    content:"";
    position:absolute;
    width:75px;
    height:75px;
    right:28px;
    top:85px;
    border:1px solid white;
    border-radius:50%;
    opacity:.6;
    transition:
        transform .5s ease,
        width .5s ease,
        height .5s ease;
}

.bhs-help-grid-card:hover{
    background:white;
    transform:translateY(-9px);
    border-radius:30px 20px 30px 20px;
    box-shadow:0 22px 48px rgba(0,0,0,.07);
}

.bhs-help-grid-card:hover::before{
    transform:scale(1.5);
}

.bhs-help-grid-card:hover::after{
    width:100px;
    height:100px;
    transform:rotate(25deg);
    border-color:#F6F2EF;
}


/* SUBTLE OFFSET */

.bhs-help-grid-card-two,
.bhs-help-grid-card-four{
    margin-top:32px;
}


/* CARD TOP */

.bhs-help-grid-card-top{
    position:relative;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.bhs-help-grid-card-top>span{
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    opacity:.45;
}

.bhs-help-grid-icon{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:16px;
    font-size:15px;
    transition:
        background .45s ease,
        transform .45s ease,
        border-radius .45s ease;
}

.bhs-help-grid-card:hover .bhs-help-grid-icon{
    background:#F6F2EF;
    transform:rotate(-8deg) scale(1.08);
    border-radius:50%;
}


/* CARD CONTENT */

.bhs-help-grid-card-copy{
    position:relative;
    z-index:3;
    margin-top:auto;
}

.bhs-help-grid-card-copy small{
    display:block;
    margin-bottom:7px;
    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;
    opacity:.55;
}

.bhs-help-grid-card-copy h3{
    margin:0 0 10px;
    font-size:25px;
    line-height:1.08;
    letter-spacing:-.9px;
    font-weight:500;
}

.bhs-help-grid-card-copy p{
    margin:0;
    font-size:14px;
    line-height:1.7;
}


/* LINK */

.bhs-help-grid-link{
    position:relative;
    z-index:4;
    width:max-content;
    margin-top:18px;
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:inherit;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
}

.bhs-help-grid-link i{
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:50%;
    font-size:9px;
    transition:
        transform .35s ease,
        border-radius .35s ease;
}

.bhs-help-grid-card:hover
.bhs-help-grid-link i{
    background:#F6F2EF;
}

.bhs-help-grid-link:hover i{
    transform:translateX(4px) rotate(-8deg);
    border-radius:10px;
}


/* REVEAL */

.bhs-help-grid.bhs-help-grid-animate
.bhs-help-grid-head,
.bhs-help-grid.bhs-help-grid-animate
.bhs-help-grid-card{
    opacity:0;
    transform:translateY(24px);
}

.bhs-help-grid.bhs-help-grid-visible
.bhs-help-grid-head{
    animation:bhsHelpGridReveal .7s ease forwards;
}

.bhs-help-grid.bhs-help-grid-visible
.bhs-help-grid-card-one{
    animation:bhsHelpGridReveal .7s ease forwards .08s;
}

.bhs-help-grid.bhs-help-grid-visible
.bhs-help-grid-card-two{
    animation:bhsHelpGridRevealOffset .7s ease forwards .16s;
}

.bhs-help-grid.bhs-help-grid-visible
.bhs-help-grid-card-three{
    animation:bhsHelpGridReveal .7s ease forwards .24s;
}

.bhs-help-grid.bhs-help-grid-visible
.bhs-help-grid-card-four{
    animation:bhsHelpGridRevealOffset .7s ease forwards .32s;
}

@keyframes bhsHelpGridReveal{
    from{
        opacity:0;
        transform:translateY(24px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes bhsHelpGridRevealOffset{
    from{
        opacity:0;
        transform:translateY(56px);
    }

    to{
        opacity:1;
        transform:translateY(32px);
    }
}


@media(max-width:1100px){

    .bhs-help-grid-layout{
        grid-template-columns:repeat(2,1fr);
    }

    .bhs-help-grid-card-two,
    .bhs-help-grid-card-four{
        margin-top:0;
    }

    .bhs-help-grid.bhs-help-grid-visible
    .bhs-help-grid-card-two,
    .bhs-help-grid.bhs-help-grid-visible
    .bhs-help-grid-card-four{
        animation:bhsHelpGridReveal .7s ease forwards;
    }

}


@media(max-width:750px){

    .bhs-help-grid-title-row{
        grid-template-columns:1fr;
        gap:18px;
    }

}


@media(max-width:600px){

    .bhs-help-grid{
        padding:70px 16px;
    }

    .bhs-help-grid-title-row h2{
        font-size:42px;
        letter-spacing:-2px;
    }

    .bhs-help-grid-layout{
        grid-template-columns:1fr;
    }

    .bhs-help-grid-card{
        min-height:260px;
        padding:20px;
    }

}

.bhs-approach{
    padding:90px 5%;
    background:#F6F2EF;
    overflow:hidden;
}

.bhs-approach-inner{
    max-width:1440px;
    margin:0 auto;
}

.bhs-approach-head{
    margin-bottom:75px;
}

.bhs-approach-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:15px;
    padding:8px 13px;
    background:white;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-approach-kicker::before{
    content:"";
    width:7px;
    height:7px;
    background:#F6F2EF;
    border:3px solid white;
    outline:1px solid #F6F2EF;
    border-radius:50%;
}

.bhs-approach-head-row{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    align-items:end;
    gap:70px;
}

.bhs-approach-head h2{
    max-width:850px;
    margin:0;
    font-size:clamp(40px,4.8vw,68px);
    line-height:.98;
    letter-spacing:-2.8px;
    font-weight:500;
}

.bhs-approach-head h2 span{
    display:block;
}

.bhs-approach-head p{
    max-width:500px;
    margin:0;
    font-size:14px;
    line-height:1.8;
}


/* ROUTE */

.bhs-approach-route{
    position:relative;
    min-height:390px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    align-items:center;
    gap:14px;
    padding:30px 0;
}


/* CONNECTING LINE */

.bhs-approach-line{
    position:absolute;
    left:12.5%;
    right:12.5%;
    top:50%;
    z-index:1;
    height:3px;
    background:white;
    border-radius:30px;
    transform:translateY(-50%);
}

.bhs-approach-line>span{
    display:block;
    width:0;
    height:100%;
    background:#000;
    border-radius:30px;
    transition:
        width .7s cubic-bezier(.2,.8,.2,1);
}

.bhs-approach-moving-dot{
    position:absolute;
    left:0;
    top:50%;
    width:14px;
    height:14px;
    background:white;
    border:4px solid #000;
    border-radius:50%;
    transform:translate(-50%,-50%);
    box-shadow:
        0 0 0 7px rgba(255,255,255,.6);
    transition:
        left .7s cubic-bezier(.2,.8,.2,1);
}


/* CARDS */

.bhs-approach-card{
    --bhs-approach-offset:0px;

    position:relative;
    z-index:3;
    min-height:250px;
    padding:20px;
    display:flex;
    flex-direction:column;
    background:white;
    border-radius:20px;
    overflow:visible;
    cursor:pointer;

    transform:
        translateY(var(--bhs-approach-offset));

    transition:
        transform .5s cubic-bezier(.2,.8,.2,1),
        border-radius .5s ease,
        box-shadow .5s ease;
}


/* CORRECT ZIGZAG */

.bhs-approach-card:nth-of-type(1),
.bhs-approach-card:nth-of-type(3){
    --bhs-approach-offset:-25px;
}

.bhs-approach-card:nth-of-type(2),
.bhs-approach-card:nth-of-type(4){
    --bhs-approach-offset:55px;
}


/* CARD INNER SHAPE */

.bhs-approach-card::before{
    content:"";
    position:absolute;
    width:125px;
    height:125px;
    right:-65px;
    bottom:-65px;
    background:#F6F2EF;
    border-radius:50%;
    pointer-events:none;
    transform:scale(.7);
    transition:
        transform .55s ease;
}


/* ACTIVE CARD */

.bhs-approach-card-active{
    transform:
        translateY(
            calc(var(--bhs-approach-offset) - 8px)
        );

    border-radius:30px 20px 30px 20px;

    box-shadow:
        0 20px 45px rgba(0,0,0,.07);
}

.bhs-approach-card-active::before{
    transform:scale(1.45);
}


/* CARD TOP */

.bhs-approach-card-top{
    position:relative;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:42px;
}

.bhs-approach-card-top>span{
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    opacity:.45;
}


/* ICON */

.bhs-approach-icon{
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F6F2EF;
    border-radius:15px;
    font-size:14px;

    transition:
        transform .45s ease,
        border-radius .45s ease;
}

.bhs-approach-card-active
.bhs-approach-icon{
    transform:
        rotate(-8deg)
        scale(1.08);

    border-radius:50%;
}


/* CARD CONTENT */

.bhs-approach-card-copy{
    position:relative;
    z-index:3;
    margin-top:auto;
}

.bhs-approach-card small{
    display:block;
    margin-bottom:6px;
    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;
    opacity:.55;
}

.bhs-approach-card h3{
    margin:0 0 9px;
    font-size:27px;
    line-height:1;
    letter-spacing:-1px;
    font-weight:500;
}

.bhs-approach-card p{
    margin:0;
    font-size:14px;
    line-height:1.7;
}


/* NODES */

.bhs-approach-node{
    position:absolute;
    left:50%;
    z-index:5;
    width:16px;
    height:16px;
    background:white;
    border:3px solid #F6F2EF;
    border-radius:50%;
    transform:translateX(-50%);

    transition:
        border-color .4s ease,
        transform .4s ease;
}


/* TOP CARDS */

.bhs-approach-card:nth-of-type(1)
.bhs-approach-node,
.bhs-approach-card:nth-of-type(3)
.bhs-approach-node{
    bottom:-31px;
}


/* BOTTOM CARDS */

.bhs-approach-card:nth-of-type(2)
.bhs-approach-node,
.bhs-approach-card:nth-of-type(4)
.bhs-approach-node{
    top:-31px;
}


.bhs-approach-card-active
.bhs-approach-node{
    border-color:#000;

    transform:
        translateX(-50%)
        scale(1.2);
}


/* REVEAL */

.bhs-approach-head,
.bhs-approach-route{
    opacity:1;
    transform:translateY(0);
}

.bhs-approach.bhs-approach-animate
.bhs-approach-head,
.bhs-approach.bhs-approach-animate
.bhs-approach-route{
    opacity:0;
    transform:translateY(24px);
}

.bhs-approach.bhs-approach-visible
.bhs-approach-head{
    animation:
        bhsApproachReveal
        .7s ease forwards;
}

.bhs-approach.bhs-approach-visible
.bhs-approach-route{
    animation:
        bhsApproachReveal
        .7s ease forwards .15s;
}

@keyframes bhsApproachReveal{
    from{
        opacity:0;
        transform:translateY(24px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}


/* TABLET */

@media(max-width:1000px){

    .bhs-approach-head-row{
        grid-template-columns:1fr;
        gap:18px;
    }

    .bhs-approach-route{
        min-height:auto;
        grid-template-columns:repeat(2,1fr);
        gap:14px;
        padding:0;
    }

    .bhs-approach-line{
        display:none;
    }

    .bhs-approach-card{
        --bhs-approach-offset:0px;
    }

    .bhs-approach-card-active{
        transform:translateY(-6px);
    }

    .bhs-approach-node{
        display:none;
    }

}


/* MOBILE */

@media(max-width:600px){

    .bhs-approach{
        padding:70px 16px;
    }

    .bhs-approach-head{
        margin-bottom:35px;
    }

    .bhs-approach-head h2{
        font-size:42px;
        letter-spacing:-2px;
    }

    .bhs-approach-route{
        grid-template-columns:1fr;
    }

    .bhs-approach-card{
        min-height:225px;
    }

    .bhs-approach-card-active{
        transform:none;
    }

}

.bhs-purpose-constellation{
    padding:95px 5%;
    background:white;
    overflow:hidden;
}

.bhs-purpose-constellation-inner{
    max-width:1440px;
    margin:0 auto;
}

.bhs-purpose-constellation-head{
    margin-bottom:50px;
}

.bhs-purpose-constellation-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:15px;
    padding:8px 13px;
    background:#F6F2EF;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-purpose-constellation-kicker::before{
    content:"";
    width:7px;
    height:7px;
    background:white;
    border:3px solid #F6F2EF;
    outline:1px solid white;
    border-radius:50%;
}

.bhs-purpose-constellation-title-row{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    align-items:end;
    gap:70px;
}

.bhs-purpose-constellation-title-row h2{
    max-width:850px;
    margin:0;
    font-size:clamp(42px,4.8vw,68px);
    line-height:.98;
    letter-spacing:-2.8px;
    font-weight:500;
}

.bhs-purpose-constellation-title-row h2 span{
    display:block;
}

.bhs-purpose-constellation-title-row p{
    max-width:500px;
    margin:0;
    font-size:15px;
    line-height:1.8;
}


/* STAGE */

.bhs-purpose-constellation-stage{
    position:relative;
    min-height:560px;
}


/* SMALL CARDS */

.bhs-purpose-constellation-card{
    position:absolute;
    z-index:5;
    width:300px;
    min-height:210px;
    padding:20px;
    background:#F6F2EF;
    border-radius:20px;
    overflow:hidden;
    cursor:pointer;

    transition:
        background .5s ease,
        transform .55s cubic-bezier(.2,.8,.2,1),
        border-radius .5s ease,
        box-shadow .5s ease;
}

.bhs-purpose-constellation-card::before{
    content:"";
    position:absolute;
    width:125px;
    height:125px;
    right:-70px;
    bottom:-70px;
    background:white;
    border-radius:50%;
    transform:scale(.7);

    transition:
        transform .6s ease;
}

.bhs-purpose-constellation-card-one{
    left:2%;
    top:25px;
}

.bhs-purpose-constellation-card-two{
    right:2%;
    top:55px;
}

.bhs-purpose-constellation-card-three{
    left:14%;
    bottom:15px;
}


/* ACTIVE CARD */

.bhs-purpose-constellation-card-active{
    background:white;
    transform:translateY(-8px);
    border-radius:30px 20px 30px 20px;

    box-shadow:
        0 22px 48px rgba(0,0,0,.07);
}

.bhs-purpose-constellation-card-active::before{
    transform:scale(1.55);
}


/* CARD TOP */

.bhs-purpose-constellation-card-top{
    position:relative;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:28px;
}

.bhs-purpose-constellation-card-top>span{
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    opacity:.45;
}

.bhs-purpose-constellation-icon{
    width:45px;
    height:45px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:15px;
    font-size:14px;

    transition:
        background .45s ease,
        transform .45s ease,
        border-radius .45s ease;
}

.bhs-purpose-constellation-card-active
.bhs-purpose-constellation-icon{
    background:#F6F2EF;
    transform:rotate(-8deg) scale(1.08);
    border-radius:50%;
}


/* CARD CONTENT */

.bhs-purpose-constellation-card small{
    position:relative;
    z-index:3;
    display:block;
    margin-bottom:6px;
    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;
    opacity:.55;
}

.bhs-purpose-constellation-card h3{
    position:relative;
    z-index:3;
    max-width:240px;
    margin:0 0 9px;
    font-size:24px;
    line-height:1.08;
    letter-spacing:-.8px;
    font-weight:500;
}

.bhs-purpose-constellation-card p{
    position:relative;
    z-index:3;
    margin:0;
    font-size:14px;
    line-height:1.7;
}


/* CENTRAL CORE */

.bhs-purpose-constellation-core{
    position:absolute;
    left:57%;
    top:58%;
    width:310px;
    height:310px;
    transform:translate(-50%,-50%);
    display:flex;
    align-items:center;
    justify-content:center;
}

.bhs-purpose-constellation-core-ring{
    position:absolute;
    left:50%;
    top:50%;
    border:1px solid #F6F2EF;
    border-radius:50%;
}

.bhs-purpose-constellation-core-ring-one{
    width:300px;
    height:300px;
    margin:-150px 0 0 -150px;
    animation:
        bhsPurposeConstellationSpin
        24s linear infinite;
}

.bhs-purpose-constellation-core-ring-one::before{
    content:"";
    position:absolute;
    width:18px;
    height:18px;
    left:40px;
    top:38px;
    background:#F6F2EF;
    border-radius:50%;
}

.bhs-purpose-constellation-core-ring-two{
    width:220px;
    height:220px;
    margin:-110px 0 0 -110px;
    background:#F6F2EF;

    animation:
        bhsPurposeConstellationMorph
        7s ease-in-out infinite;
}

.bhs-purpose-constellation-core-content{
    position:relative;
    z-index:4;
    max-width:180px;
    text-align:center;
}

.bhs-purpose-constellation-core-content>span{
    display:block;
    margin-bottom:8px;
    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-purpose-constellation-core-content strong{
    display:block;
    font-size:35px;
    line-height:1;
    letter-spacing:-1.5px;
    font-weight:500;

    transition:
        opacity .3s ease,
        transform .3s ease;
}

.bhs-purpose-constellation-core-icon{
    width:52px;
    height:52px;
    margin:18px auto 0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:50%;
    font-size:16px;
    box-shadow:
        0 14px 30px rgba(0,0,0,.05);

    animation:
        bhsPurposeConstellationFloat
        4s ease-in-out infinite;
}


/* CONNECTING PATHS */

.bhs-purpose-constellation-path{
    position:absolute;
    z-index:2;
    height:2px;
    background:#F6F2EF;
    overflow:hidden;
    transform-origin:left center;
}

.bhs-purpose-constellation-path span{
    display:block;
    width:0;
    height:100%;
    background:#000;
}

.bhs-purpose-constellation-path-one{
    left:22%;
    top:190px;
    width:25%;
    transform:rotate(14deg);
}

.bhs-purpose-constellation-path-two{
    left:66%;
    top:210px;
    width:18%;
    transform:rotate(-18deg);
}

.bhs-purpose-constellation-path-three{
    left:30%;
    bottom:130px;
    width:22%;
    transform:rotate(-13deg);
}

.bhs-purpose-constellation-path-active span{
    animation:
        bhsPurposeConstellationPath
        3.8s linear forwards;
}


/* SAFE DEFAULT VISIBILITY */

.bhs-purpose-constellation-head,
.bhs-purpose-constellation-stage{
    opacity:1;
    transform:translateY(0);
}

.bhs-purpose-constellation.bhs-purpose-constellation-animate
.bhs-purpose-constellation-head,
.bhs-purpose-constellation.bhs-purpose-constellation-animate
.bhs-purpose-constellation-stage{
    opacity:0;
    transform:translateY(22px);
}

.bhs-purpose-constellation.bhs-purpose-constellation-visible
.bhs-purpose-constellation-head{
    animation:
        bhsPurposeConstellationReveal
        .7s ease forwards;
}

.bhs-purpose-constellation.bhs-purpose-constellation-visible
.bhs-purpose-constellation-stage{
    animation:
        bhsPurposeConstellationReveal
        .7s ease forwards .15s;
}


/* ANIMATIONS */

@keyframes bhsPurposeConstellationReveal{
    from{
        opacity:0;
        transform:translateY(22px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes bhsPurposeConstellationPath{
    from{
        width:0;
    }

    to{
        width:100%;
    }
}

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

@keyframes bhsPurposeConstellationMorph{
    0%,100%{
        border-radius:50%;
        transform:rotate(0);
    }

    50%{
        border-radius:
            38% 62% 56% 44% /
            57% 42% 58% 43%;

        transform:rotate(28deg);
    }
}

@keyframes bhsPurposeConstellationFloat{
    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-9px);
    }
}


/* TABLET */

@media(max-width:1050px){

    .bhs-purpose-constellation-title-row{
        grid-template-columns:1fr;
        gap:18px;
    }

    .bhs-purpose-constellation-stage{
        min-height:auto;
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:14px;
    }

    .bhs-purpose-constellation-card{
        position:relative;
        inset:auto;
        width:auto;
        min-height:230px;
    }

    .bhs-purpose-constellation-card-three{
        grid-column:1/3;
    }

    .bhs-purpose-constellation-core{
        position:relative;
        left:auto;
        top:auto;
        grid-column:1/3;
        width:310px;
        height:310px;
        margin:20px auto 0;
        transform:none;
    }

    .bhs-purpose-constellation-path{
        display:none;
    }

}


/* MOBILE */

@media(max-width:600px){

    .bhs-purpose-constellation{
        padding:70px 16px;
    }

    .bhs-purpose-constellation-title-row h2{
        font-size:42px;
        letter-spacing:-2px;
    }

    .bhs-purpose-constellation-stage{
        grid-template-columns:1fr;
    }

    .bhs-purpose-constellation-card-three,
    .bhs-purpose-constellation-core{
        grid-column:1;
    }

    .bhs-purpose-constellation-card{
        min-height:220px;
    }

    .bhs-purpose-constellation-card-active{
        transform:none;
    }

    .bhs-purpose-constellation-core{
        width:280px;
        height:280px;
    }

    .bhs-purpose-constellation-core-ring-one{
        width:270px;
        height:270px;
        margin:-135px 0 0 -135px;
    }

}

@media(max-width:600px){

    .bhs-approach{
        padding:70px 16px;
    }

    .bhs-approach-head{
        margin-bottom:35px;
    }

    .bhs-approach-head-row{
        grid-template-columns:1fr;
        gap:16px;
    }

    .bhs-approach-head h2{
        font-size:42px;
        line-height:1;
        letter-spacing:-2px;
    }

    .bhs-approach-head p{
        font-size:14px;
        line-height:1.7;
    }


    /* MOBILE VERTICAL JOURNEY */

    .bhs-approach-route{
        position:relative;
        min-height:auto;
        display:flex;
        flex-direction:column;
        gap:18px;
        padding:0 0 0 38px;
    }


    /* HIDE DESKTOP LINE */

    .bhs-approach-line{
        display:none;
    }


    /* MOBILE VERTICAL LINE */

    .bhs-approach-route::before{
        content:"";
        position:absolute;
        left:14px;
        top:28px;
        bottom:28px;
        width:3px;
        background:white;
        border-radius:20px;
    }


    /* CARDS */

    .bhs-approach-card,
    .bhs-approach-card:nth-of-type(1),
    .bhs-approach-card:nth-of-type(2),
    .bhs-approach-card:nth-of-type(3),
    .bhs-approach-card:nth-of-type(4){
        --bhs-approach-offset:0px;

        width:100%;
        min-height:auto;
        padding:18px;
        transform:none;
        border-radius:18px;
        overflow:visible;
    }


    .bhs-approach-card-active{
        transform:translateX(5px);
        border-radius:26px 18px 26px 18px;
        box-shadow:0 16px 35px rgba(0,0,0,.07);
    }


    /* CARD TOP */

    .bhs-approach-card-top{
        margin-bottom:24px;
    }


    .bhs-approach-icon{
        width:43px;
        height:43px;
        border-radius:14px;
    }


    .bhs-approach-card h3{
        font-size:24px;
    }


    .bhs-approach-card p{
        font-size:14px;
        line-height:1.7;
    }


    /* MOBILE NODES */

    .bhs-approach-node,
    .bhs-approach-card:nth-of-type(1) .bhs-approach-node,
    .bhs-approach-card:nth-of-type(2) .bhs-approach-node,
    .bhs-approach-card:nth-of-type(3) .bhs-approach-node,
    .bhs-approach-card:nth-of-type(4) .bhs-approach-node{
        display:block;
        left:-31px;
        top:50%;
        bottom:auto;
        width:16px;
        height:16px;
        transform:translate(-50%,-50%);
        background:#F6F2EF;
        border:4px solid white;
        border-radius:50%;
        z-index:6;
    }


    .bhs-approach-card-active .bhs-approach-node{
        background:#000;
        border-color:white;
        transform:translate(-50%,-50%) scale(1.15);
    }


    /* ACTIVE CARD SHAPE */

    .bhs-approach-card::before{
        width:105px;
        height:105px;
        right:-58px;
        bottom:-58px;
    }


    /* REVEAL FIX */

    .bhs-approach.bhs-approach-visible
    .bhs-approach-route{
        animation:bhsApproachMobileReveal .7s ease forwards .15s;
    }


    @keyframes bhsApproachMobileReveal{
        from{
            opacity:0;
            transform:translateY(18px);
        }

        to{
            opacity:1;
            transform:translateY(0);
        }
    }

}

.bhs-contact-mirror{
    padding:24px 4% 0;
    background:white;
    overflow:hidden;
}

.bhs-contact-mirror-shell{
    position:relative;
    min-height:650px;
    max-width:1500px;
    margin:0 auto;
    padding:90px 70px 105px;
    background:#F6F2EF;
    border-radius:34px;
    overflow:hidden;
}


/* COPY */

.bhs-contact-mirror-copy{
    position:relative;
    z-index:6;
    max-width:720px;
}

.bhs-contact-mirror-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:18px;
    padding:8px 13px;
    background:white;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-contact-mirror-kicker::before{
    content:"";
    width:7px;
    height:7px;
    background:#F6F2EF;
    border:3px solid white;
    outline:1px solid #F6F2EF;
    border-radius:50%;
}

.bhs-contact-mirror-copy h1{
    margin:0;
    max-width:760px;
    font-size:clamp(54px,6vw,88px);
    line-height:.93;
    letter-spacing:-4px;
    font-weight:500;
}

.bhs-contact-mirror-copy h1 span{
    display:block;
}

.bhs-contact-mirror-copy p{
    max-width:520px;
    margin:22px 0 0;
    font-size:14px;
    line-height:1.8;
}


/* ACTIONS */

.bhs-contact-mirror-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    margin-top:28px;
}

.bhs-contact-mirror-primary,
.bhs-contact-mirror-secondary{
    display:inline-flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:#000;
    font-size:14px;
    font-weight:600;
    transition:
        transform .35s ease,
        border-radius .35s ease;
}

.bhs-contact-mirror-primary{
    padding:13px 17px;
    background:white;
    border-radius:14px;
}

.bhs-contact-mirror-primary i{
    font-size:10px;
    transition:transform .3s ease;
}

.bhs-contact-mirror-primary:hover{
    transform:translateY(-3px);
    border-radius:22px 14px 22px 14px;
}

.bhs-contact-mirror-primary:hover i{
    transform:translateX(4px);
}

.bhs-contact-mirror-secondary{
    padding:13px 16px;
}

.bhs-contact-mirror-secondary i{
    width:31px;
    height:31px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:50%;
    font-size:10px;
}


/* OVERSIZED WORD */

.bhs-contact-mirror-word{
    position:absolute;
    right:28px;
    top:50%;
    z-index:1;

    font-size:clamp(72px,8vw,125px);
    line-height:1;
    letter-spacing:-5px;
    font-weight:600;

    opacity:.045;
    white-space:nowrap;
    pointer-events:none;

    transform:
        translateY(-50%)
        rotate(90deg);

    transform-origin:center;
}


/* FLOATING NOTE */

.bhs-contact-mirror-note{
position:absolute;
    right:7%;
    top:85px;
    z-index:7;

    width:235px;
    padding:14px;

    display:flex;
    align-items:center;
    gap:13px;

    background:white;
    border-radius:18px;

    box-shadow:
        0 20px 50px rgba(0,0,0,.05);

    animation:
        bhsContactMirrorFloat
        5s ease-in-out infinite;
}

.bhs-contact-mirror-note-icon{
    flex:0 0 45px;
    width:45px;
    height:45px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F6F2EF;
    border-radius:14px;
    font-size:14px;
}

.bhs-contact-mirror-note small{
    display:block;
    margin-bottom:4px;
    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;
    opacity:.5;
}

.bhs-contact-mirror-note strong{
    display:block;
    font-size:14px;
    line-height:1.35;
    font-weight:500;
}


/* ABSTRACT SHAPES */

.bhs-contact-mirror-shape{
    position:absolute;
    z-index:2;
    border-radius:50%;
    pointer-events:none;
}

.bhs-contact-mirror-shape-one{
    width:230px;
    height:230px;

    right:12%;
    bottom:115px;

    background:white;

    animation:
        bhsContactMirrorMorph
        8s ease-in-out infinite;
}

.bhs-contact-mirror-shape-two{
    width:78px;
    height:78px;

    right:5%;
    bottom:165px;

    border:14px solid white;
    background:transparent;

    animation:
        bhsContactMirrorSpin
        14s linear infinite;
}


.bhs-contact-mirror-shape-three{
    width:28px;
    height:28px;

    right:30%;
    top:140px;

    background:white;

    animation:
        bhsContactMirrorPulse
        4s ease-in-out infinite;
}


.bhs-contact-mirror-orbit{
    position:absolute;

    right:9%;
    bottom:80px;

    z-index:3;

    width:285px;
    height:285px;

    border:1px solid rgba(255,255,255,.95);
    border-radius:50%;

    animation:
        bhsContactMirrorSpin
        22s linear infinite;
}

.bhs-contact-mirror-orbit span{
    position:absolute;
    left:38px;
    top:28px;
    width:18px;
    height:18px;
    background:white;
    border-radius:50%;
}


/* BOTTOM RAIL */

.bhs-contact-mirror-rail{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:8;
    height:62px;
    display:flex;
    align-items:center;
    background:white;
    overflow:hidden;
}

.bhs-contact-mirror-track{
    display:flex;
    align-items:center;
    width:max-content;
    flex-shrink:0;
    will-change:transform;

    animation:
        bhsContactMirrorRail
        28s linear infinite;
}

.bhs-contact-mirror-group{
    display:flex;
    align-items:center;
    flex-shrink:0;
    gap:28px;
    padding-right:28px;
    white-space:nowrap;
}

.bhs-contact-mirror-group span{
    flex-shrink:0;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-contact-mirror-group i{
    flex-shrink:0;
    font-size:4px;
}


/* SAFE VISIBILITY */

.bhs-contact-mirror-copy,
.bhs-contact-mirror-note{
    opacity:1;
    transform:translateY(0);
}

.bhs-contact-mirror.bhs-contact-mirror-animate
.bhs-contact-mirror-copy,
.bhs-contact-mirror.bhs-contact-mirror-animate
.bhs-contact-mirror-note{
    opacity:0;
    transform:translateY(24px);
}

.bhs-contact-mirror.bhs-contact-mirror-visible
.bhs-contact-mirror-copy{
    animation:
        bhsContactMirrorReveal
        .8s ease forwards;
}

.bhs-contact-mirror.bhs-contact-mirror-visible
.bhs-contact-mirror-note{
    animation:
        bhsContactMirrorReveal
        .8s ease forwards .2s,
        bhsContactMirrorFloat
        5s ease-in-out infinite 1s;
}


/* ANIMATIONS */

@keyframes bhsContactMirrorReveal{
    from{
        opacity:0;
        transform:translateY(24px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes bhsContactMirrorFloat{
    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-10px);
    }
}

@keyframes bhsContactMirrorMorph{
    0%,100%{
        border-radius:50%;
        transform:rotate(0deg);
    }

    50%{
        border-radius:
            40% 60% 55% 45% /
            58% 42% 58% 42%;

        transform:rotate(25deg);
    }
}

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

@keyframes bhsContactMirrorPulse{
    0%,100%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.35);
    }
}

@keyframes bhsContactMirrorRail{
    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-25%);
    }
}


/* TABLET */

@media(max-width:1000px){

    .bhs-contact-mirror-shell{
        min-height:620px;
        padding:75px 45px 100px;
    }

    .bhs-contact-mirror-note{
        right:5%;
        top:auto;
        bottom:105px;
    }

    .bhs-contact-mirror-shape-one{
        width:220px;
        height:220px;
        right:8%;
    }

    .bhs-contact-mirror-orbit{
        width:270px;
        height:270px;
        right:4%;
    }

}


/* MOBILE */

@media(max-width:600px){

    .bhs-contact-mirror{
        padding:14px 12px 0;
    }

    .bhs-contact-mirror-shell{
        min-height:690px;
        padding:55px 22px 100px;
        border-radius:24px;
    }

    .bhs-contact-mirror-copy h1{
        font-size:52px;
        line-height:.96;
        letter-spacing:-3px;
    }

    .bhs-contact-mirror-copy p{
        font-size:14px;
        line-height:1.7;
    }

    .bhs-contact-mirror-actions{
        flex-direction:column;
        align-items:flex-start;
    }

    .bhs-contact-mirror-word{
        right:auto;
        left:18px;
        top:auto;
        bottom:175px;

        font-size:58px;
        letter-spacing:-3px;

        transform:none;

        opacity:.045;
    }


    .bhs-contact-mirror-note{
        left:22px;
        right:22px;
        bottom:78px;

        width:auto;
    }


    .bhs-contact-mirror-shape-one{
        width:155px;
        height:155px;

        right:-45px;
        bottom:180px;
    }


    .bhs-contact-mirror-shape-two{
        width:55px;
        height:55px;

        right:18px;
        bottom:285px;

        border-width:10px;
    }


    .bhs-contact-mirror-orbit{
        width:190px;
        height:190px;

        right:-65px;
        bottom:155px;
    }

    .bhs-contact-mirror-rail{
        height:58px;
    }

}

@media(max-width:1000px){

    .bhs-contact-mirror-word{
        right:-5px;
        font-size:82px;
        letter-spacing:-4px;
    }

    .bhs-contact-mirror-note{
        right:5%;
        top:auto;
        bottom:105px;
    }

    .bhs-contact-mirror-shape-one{
        width:195px;
        height:195px;
        right:7%;
    }

    .bhs-contact-mirror-orbit{
        width:240px;
        height:240px;
        right:3%;
    }

}

.bhs-connect-desk{
    padding:95px 5%;
    background:white;
    overflow:hidden;
}

.bhs-connect-desk-inner{
    max-width:1440px;
    margin:0 auto;
}


/* HEADER */

.bhs-connect-desk-head{
    margin-bottom:45px;
}

.bhs-connect-desk-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:15px;
    padding:8px 13px;
    background:#F6F2EF;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-connect-desk-kicker::before{
    content:"";
    width:7px;
    height:7px;
    background:white;
    border:3px solid #F6F2EF;
    outline:1px solid white;
    border-radius:50%;
}

.bhs-connect-desk-title-row{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    align-items:end;
    gap:70px;
}

.bhs-connect-desk-title-row h2{
    max-width:800px;
    margin:0;
    font-size:clamp(42px,4.8vw,68px);
    line-height:.98;
    letter-spacing:-2.8px;
    font-weight:500;
}

.bhs-connect-desk-title-row h2 span{
    display:block;
}

.bhs-connect-desk-title-row p{
    max-width:500px;
    margin:0;
    font-size:15px;
    line-height:1.8;
}


/* MAIN LAYOUT */

.bhs-connect-desk-layout{
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:18px;
    align-items:stretch;
}


/* FORM */

.bhs-connect-desk-form-wrap{
    position:relative;
    padding:28px;
    background:#F6F2EF;
    border-radius:28px;
    overflow:hidden;
}

.bhs-connect-desk-form-wrap::before{
    content:"";
    position:absolute;
    right:-100px;
    top:-100px;
    width:250px;
    height:250px;
    border:1px solid white;
    border-radius:50%;
}

.bhs-connect-desk-form-wrap::after{
    content:"";
    position:absolute;
    right:-45px;
    top:-45px;
    width:120px;
    height:120px;
    background:white;
    border-radius:50%;
    opacity:.6;
}

.bhs-connect-desk-form-top{
    position:relative;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:28px;
}

.bhs-connect-desk-form-top small{
    display:block;
    margin-bottom:5px;
    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;
    opacity:.55;
}

.bhs-connect-desk-form-top h3{
    margin:0;
    font-size:30px;
    line-height:1;
    letter-spacing:-1px;
    font-weight:500;
}

.bhs-connect-desk-form-symbol{
    width:54px;
    height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:18px;
    font-size:16px;
}


/* FORM FIELDS */

.bhs-connect-desk-form{
    position:relative;
    z-index:3;
}

.bhs-connect-desk-field-row{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.bhs-connect-desk-field{
    margin-bottom:12px;
}

.bhs-connect-desk-field label{
    display:block;
    margin:0 0 7px 3px;
    font-size:13px;
    font-weight:600;
}

.bhs-connect-desk-field input,
.bhs-connect-desk-field textarea{
    width:100%;
    border:none;
    outline:none;
    padding:15px 16px;
    background:white;
    border-radius:14px;
    color:#000;
    font:inherit;
    font-size:14px;
    transition:
        border-radius .35s ease,
        box-shadow .35s ease,
        transform .35s ease;
}

.bhs-connect-desk-field textarea{
    min-height:145px;
    resize:vertical;
}

.bhs-connect-desk-field input:focus,
.bhs-connect-desk-field textarea:focus{
    border-radius:20px 14px 20px 14px;
    box-shadow:0 12px 30px rgba(0,0,0,.05);
    transform:translateY(-2px);
}

.bhs-connect-desk-field input::placeholder,
.bhs-connect-desk-field textarea::placeholder{
    opacity:.45;
}


/* FORM BOTTOM */

.bhs-connect-desk-form-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    margin-top:6px;
}

.bhs-connect-desk-form-bottom p{
    max-width:360px;
    margin:0;
    font-size:14px;
    line-height:1.6;
    opacity:.55;
}

.bhs-connect-desk-form-bottom button{
    flex-shrink:0;
    border:0;
    padding:8px 8px 8px 17px;
    display:inline-flex;
    align-items:center;
    gap:13px;
    background:#000;
    color:white;
    border-radius:14px;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    transition:
        transform .35s ease,
        border-radius .35s ease;
}

.bhs-connect-desk-form-bottom button span{
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    color:#000;
    border-radius:10px;
    font-size:14px;
    transition:transform .35s ease;
}

.bhs-connect-desk-form-bottom button:hover{
    transform:translateY(-3px);
    border-radius:22px 14px 22px 14px;
}

.bhs-connect-desk-form-bottom button:hover span{
    transform:rotate(-8deg);
}


/* RIGHT CARDS */

.bhs-connect-desk-cards{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
    align-content:start;
}

.bhs-connect-desk-card{
    position:relative;
    min-height:225px;
    padding:20px;
    display:flex;
    flex-direction:column;
    background:#F6F2EF;
    color:#000;
    text-decoration:none;
    border-radius:20px;
    overflow:hidden;
    cursor:pointer;
    transition:
        transform .5s cubic-bezier(.2,.8,.2,1),
        background .5s ease,
        border-radius .5s ease,
        box-shadow .5s ease;
}

.bhs-connect-desk-card::before{
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    right:-70px;
    bottom:-70px;
    background:white;
    border-radius:50%;
    transform:scale(.7);
    transition:transform .55s ease;
}

.bhs-connect-desk-card-two,
.bhs-connect-desk-card-four{
    transform:translateY(35px);
}

.bhs-connect-desk-card-active{
    background:white;
    transform:translateY(-7px);
    border-radius:30px 20px 30px 20px;
    box-shadow:0 20px 42px rgba(0,0,0,.07);
}

.bhs-connect-desk-card-two.bhs-connect-desk-card-active,
.bhs-connect-desk-card-four.bhs-connect-desk-card-active{
    transform:translateY(28px);
}

.bhs-connect-desk-card-active::before{
    transform:scale(1.55);
}

.bhs-connect-desk-card-top{
    position:relative;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:28px;
}

.bhs-connect-desk-card-top>span{
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    opacity:.45;
}

.bhs-connect-desk-card-icon{
    width:43px;
    height:43px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:14px;
    font-size:13px;
    transition:
        background .4s ease,
        transform .4s ease,
        border-radius .4s ease;
}

.bhs-connect-desk-card-active
.bhs-connect-desk-card-icon{
    background:#F6F2EF;
    transform:rotate(-7deg) scale(1.07);
    border-radius:50%;
}

.bhs-connect-desk-card>small{
    position:relative;
    z-index:3;
    display:block;
    margin-top:auto;
    margin-bottom:6px;
    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;
    opacity:.5;
}

.bhs-connect-desk-card h3{
    position:relative;
    z-index:3;
    margin:0 0 7px;
    font-size:23px;
    line-height:1;
    letter-spacing:-.7px;
    font-weight:500;
}

.bhs-connect-desk-card p{
    position:relative;
    z-index:3;
    max-width:220px;
    margin:0;
    font-size:14px;
    line-height:1.6;
    overflow-wrap:anywhere;
}

.bhs-connect-desk-card-arrow{
    position:absolute;
    right:17px;
    bottom:17px;
    z-index:4;
    width:31px;
    height:31px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:50%;
    font-size:9px;
    transition:
        transform .35s ease,
        border-radius .35s ease;
}

.bhs-connect-desk-card:hover
.bhs-connect-desk-card-arrow{
    transform:rotate(8deg) translateY(-3px);
    border-radius:10px;
}


/* SAFE REVEAL */

.bhs-connect-desk-head,
.bhs-connect-desk-form-wrap,
.bhs-connect-desk-cards{
    opacity:1;
    transform:translateY(0);
}

.bhs-connect-desk.bhs-connect-desk-animate
.bhs-connect-desk-head,
.bhs-connect-desk.bhs-connect-desk-animate
.bhs-connect-desk-form-wrap,
.bhs-connect-desk.bhs-connect-desk-animate
.bhs-connect-desk-cards{
    opacity:0;
    transform:translateY(22px);
}

.bhs-connect-desk.bhs-connect-desk-visible
.bhs-connect-desk-head{
    animation:bhsConnectDeskReveal .7s ease forwards;
}

.bhs-connect-desk.bhs-connect-desk-visible
.bhs-connect-desk-form-wrap{
    animation:bhsConnectDeskReveal .7s ease forwards .12s;
}

.bhs-connect-desk.bhs-connect-desk-visible
.bhs-connect-desk-cards{
    animation:bhsConnectDeskReveal .7s ease forwards .22s;
}

@keyframes bhsConnectDeskReveal{
    from{
        opacity:0;
        transform:translateY(22px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}


/* TABLET */

@media(max-width:1050px){

    .bhs-connect-desk-title-row{
        grid-template-columns:1fr;
        gap:18px;
    }

    .bhs-connect-desk-layout{
        grid-template-columns:1fr;
    }

    .bhs-connect-desk-cards{
        margin-top:10px;
    }

}


/* MOBILE */

@media(max-width:600px){

    .bhs-connect-desk{
        padding:70px 16px;
    }

    .bhs-connect-desk-title-row h2{
        font-size:42px;
        letter-spacing:-2px;
    }

    .bhs-connect-desk-form-wrap{
        padding:20px;
        border-radius:22px;
    }

    .bhs-connect-desk-form-top h3{
        font-size:25px;
    }

    .bhs-connect-desk-field-row{
        grid-template-columns:1fr;
        gap:0;
    }

    .bhs-connect-desk-form-bottom{
        flex-direction:column;
        align-items:flex-start;
    }

    .bhs-connect-desk-form-bottom button{
        width:100%;
        justify-content:space-between;
    }

    .bhs-connect-desk-cards{
        grid-template-columns:1fr;
    }

    .bhs-connect-desk-card,
    .bhs-connect-desk-card-two,
    .bhs-connect-desk-card-four,
    .bhs-connect-desk-card-active,
    .bhs-connect-desk-card-two.bhs-connect-desk-card-active,
    .bhs-connect-desk-card-four.bhs-connect-desk-card-active{
        transform:none;
    }

    .bhs-connect-desk-card{
        min-height:205px;
    }

}

.bhs-location-orbit{
    padding:95px 5%;
    background:#F6F2EF;
    overflow:hidden;
}

.bhs-location-orbit-inner{
    max-width:1440px;
    margin:0 auto;
}


/* HEADER */

.bhs-location-orbit-head{
    margin-bottom:44px;
}

.bhs-location-orbit-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:15px;
    padding:8px 13px;
    background:white;
    border-radius:30px;
    font-size:10px;
    font-weight:600;
    letter-spacing:1.2px;
    text-transform:uppercase;
}

.bhs-location-orbit-kicker::before{
    content:"";
    width:7px;
    height:7px;
    background:#F6F2EF;
    border:3px solid white;
    outline:1px solid #F6F2EF;
    border-radius:50%;
}

.bhs-location-orbit-title-row{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    align-items:end;
    gap:70px;
}

.bhs-location-orbit-title-row h2{
    max-width:850px;
    margin:0;
    font-size:clamp(42px,4.8vw,68px);
    line-height:.98;
    letter-spacing:-2.8px;
    font-weight:500;
}

.bhs-location-orbit-title-row h2 span{
    display:block;
}

.bhs-location-orbit-title-row p{
    max-width:500px;
    margin:0;
    font-size:14px;
    line-height:1.8;
}


/* STAGE */

.bhs-location-orbit-stage{
    position:relative;
    min-height:580px;
}


/* MAP */

.bhs-location-orbit-map{
    position:absolute;
    left:0;
    top:0;
    width:78%;
    height:540px;
    background:white;
    border:10px solid white;
    border-radius:32px;
    overflow:hidden;
    box-shadow:0 24px 55px rgba(0,0,0,.05);
}

.bhs-location-orbit-map iframe{
    width:100%;
    height:100%;
    border:0;
}


/* CUSTOM MAP MARKER */

.bhs-location-orbit-marker{
    position:absolute;
    left:52%;
    top:47%;
    width:60px;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    transform:translate(-50%,-50%);
    pointer-events:none;
}

.bhs-location-orbit-marker-ring{
    position:absolute;
    inset:0;
    background:rgba(255,255,255,.7);
    border-radius:50%;
    animation:
        bhsLocationOrbitPulse
        2.4s ease-out infinite;
}

.bhs-location-orbit-marker-icon{
    position:relative;
    z-index:2;
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#000;
    color:white;
    border:6px solid white;
    border-radius:50%;
    font-size:13px;
}


/* ADDRESS CARD */

.bhs-location-orbit-address{
    position:absolute;
    right:0;
    top:55px;
    z-index:6;
    width:340px;
    min-height:330px;
    padding:25px;
    background:white;
    border-radius:26px;
    overflow:hidden;
    box-shadow:0 28px 60px rgba(0,0,0,.08);
}

.bhs-location-orbit-address::before{
    content:"";
    position:absolute;
    width:170px;
    height:170px;
    right:-95px;
    bottom:-95px;
    background:#F6F2EF;
    border-radius:50%;
}

.bhs-location-orbit-address::after{
    content:"LOCATION";
    position:absolute;
    right:-10px;
    top:78px;
    font-size:48px;
    line-height:1;
    letter-spacing:-2px;
    font-weight:600;
    opacity:.035;
    transform:rotate(90deg);
    pointer-events:none;
}

.bhs-location-orbit-address-top{
    position:relative;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:50px;
}

.bhs-location-orbit-address-icon{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F6F2EF;
    border-radius:16px;
    font-size:14px;
}

.bhs-location-orbit-address-top small{
    font-size:9px;
    letter-spacing:1px;
    text-transform:uppercase;
    opacity:.5;
}

.bhs-location-orbit-address h3{
    position:relative;
    z-index:3;
    margin:0 0 12px;
    font-size:31px;
    line-height:1;
    letter-spacing:-1.2px;
    font-weight:500;
}

.bhs-location-orbit-address p{
    position:relative;
    z-index:3;
    margin:0;
    font-size:13px;
    line-height:1.7;
}

.bhs-location-orbit-address a{
    position:absolute;
    left:25px;
    right:25px;
    bottom:22px;
    z-index:4;
    padding:8px 8px 8px 15px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:#000;
    color:white;
    text-decoration:none;
    border-radius:14px;
    font-size:11px;
    font-weight:600;
    transition:
        transform .35s ease,
        border-radius .35s ease;
}

.bhs-location-orbit-address a span{
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    color:#000;
    border-radius:10px;
    font-size:10px;
    transition:transform .35s ease;
}

.bhs-location-orbit-address a:hover{
    transform:translateY(-3px);
    border-radius:22px 14px 22px 14px;
}

.bhs-location-orbit-address a:hover span{
    transform:rotate(8deg);
}


/* FLOATING CHIPS */

.bhs-location-orbit-chip{
    position:absolute;
    z-index:7;
    min-width:235px;
    padding:13px;
    display:flex;
    align-items:center;
    gap:12px;
    background:white;
    color:#000;
    text-decoration:none;
    border-radius:17px;
    box-shadow:0 18px 45px rgba(0,0,0,.06);
    transition:
        transform .4s ease,
        border-radius .4s ease;
}

.bhs-location-orbit-chip>span{
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F6F2EF;
    border-radius:13px;
    font-size:12px;
}

.bhs-location-orbit-chip small{
    display:block;
    margin-bottom:3px;
    font-size:8px;
    letter-spacing:.8px;
    text-transform:uppercase;
    opacity:.5;
}

.bhs-location-orbit-chip strong{
    display:block;
    font-size:12px;
    font-weight:500;
}

.bhs-location-orbit-chip-call{
    left:5%;
    bottom:8px;
    animation:
        bhsLocationOrbitFloatOne
        5s ease-in-out infinite;
}

.bhs-location-orbit-chip-email{
    left:34%;
    bottom:-14px;
    animation:
        bhsLocationOrbitFloatTwo
        5.5s ease-in-out infinite;
}

.bhs-location-orbit-chip:hover{
    transform:translateY(-6px);
    border-radius:24px 17px 24px 17px;
}


/* SAFE VISIBILITY */

.bhs-location-orbit-head,
.bhs-location-orbit-stage{
    opacity:1;
    transform:translateY(0);
}

.bhs-location-orbit.bhs-location-orbit-animate
.bhs-location-orbit-head,
.bhs-location-orbit.bhs-location-orbit-animate
.bhs-location-orbit-stage{
    opacity:0;
    transform:translateY(22px);
}

.bhs-location-orbit.bhs-location-orbit-visible
.bhs-location-orbit-head{
    animation:
        bhsLocationOrbitReveal
        .7s ease forwards;
}

.bhs-location-orbit.bhs-location-orbit-visible
.bhs-location-orbit-stage{
    animation:
        bhsLocationOrbitReveal
        .8s ease forwards .15s;
}


/* ANIMATIONS */

@keyframes bhsLocationOrbitReveal{
    from{
        opacity:0;
        transform:translateY(22px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes bhsLocationOrbitPulse{
    0%{
        opacity:.8;
        transform:scale(.65);
    }

    100%{
        opacity:0;
        transform:scale(1.7);
    }
}

@keyframes bhsLocationOrbitFloatOne{
    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-8px);
    }
}

@keyframes bhsLocationOrbitFloatTwo{
    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(9px);
    }
}


/* TABLET */

@media(max-width:1050px){

    .bhs-location-orbit-title-row{
        grid-template-columns:1fr;
        gap:18px;
    }

    .bhs-location-orbit-stage{
        min-height:auto;
        display:grid;
        grid-template-columns:1fr;
        gap:14px;
    }

    .bhs-location-orbit-map{
        position:relative;
        width:100%;
        height:480px;
    }

    .bhs-location-orbit-address{
        position:relative;
        top:auto;
        right:auto;
        width:100%;
        min-height:300px;
    }

    .bhs-location-orbit-chip{
        position:relative;
        left:auto;
        bottom:auto;
        min-width:0;
        width:100%;
        animation:none;
    }

}


/* MOBILE */

@media(max-width:600px){

    .bhs-location-orbit{
        padding:70px 16px;
    }

    .bhs-location-orbit-title-row h2{
        font-size:42px;
        letter-spacing:-2px;
    }

    .bhs-location-orbit-map{
        height:360px;
        border-width:7px;
        border-radius:24px;
    }

    .bhs-location-orbit-marker{
        width:50px;
        height:50px;
    }

    .bhs-location-orbit-marker-icon{
        width:38px;
        height:38px;
        border-width:5px;
    }

    .bhs-location-orbit-address{
        min-height:315px;
        padding:20px;
        border-radius:22px;
    }

    .bhs-location-orbit-address-top{
        margin-bottom:42px;
    }

    .bhs-location-orbit-address h3{
        font-size:28px;
    }

    .bhs-location-orbit-address a{
        left:20px;
        right:20px;
        bottom:20px;
    }

    .bhs-location-orbit-address::after{
        font-size:38px;
        right:-25px;
    }

}

.bhs-reach-choice{
    padding:95px 5%;
    background:white;
    overflow:hidden;
}

.bhs-reach-choice-inner{
    max-width:1440px;
    margin:0 auto;
}


/* HEADER */

.bhs-reach-choice-head{
    margin-bottom:55px;
}

.bhs-reach-choice-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:15px;
    padding:8px 13px;
    background:#F6F2EF;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-reach-choice-kicker::before{
    content:"";
    width:7px;
    height:7px;
    background:white;
    border:3px solid #F6F2EF;
    outline:1px solid white;
    border-radius:50%;
}

.bhs-reach-choice-title-row{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    align-items:end;
    gap:70px;
}

.bhs-reach-choice-title-row h2{
    max-width:850px;
    margin:0;
    font-size:clamp(42px,4.8vw,68px);
    line-height:.98;
    letter-spacing:-2.8px;
    font-weight:500;
}

.bhs-reach-choice-title-row h2 span{
    display:block;
}

.bhs-reach-choice-title-row p{
    max-width:500px;
    margin:0;
    font-size:15px;
    line-height:1.8;
}


/* STAGE */

.bhs-reach-choice-stage{
    position:relative;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    padding-top:34px;
}


/* CONNECTOR LINE */

.bhs-reach-choice-line{
    position:absolute;
    left:16.6%;
    right:16.6%;
    top:0;
    height:3px;
    background:#F6F2EF;
    border-radius:20px;
}

.bhs-reach-choice-line>span{
    display:block;
    width:0;
    height:100%;
    background:#000;
    border-radius:20px;
    transition:
        width .7s cubic-bezier(.2,.8,.2,1);
}

.bhs-reach-choice-dot{
    position:absolute;
    left:0;
    top:50%;
    width:14px;
    height:14px;
    background:white;
    border:4px solid #000;
    border-radius:50%;
    transform:translate(-50%,-50%);
    box-shadow:0 0 0 7px #F6F2EF;
    transition:
        left .7s cubic-bezier(.2,.8,.2,1);
}


/* CARDS */

.bhs-reach-choice-card{
    position:relative;
    min-height:330px;
    padding:22px;
    display:flex;
    flex-direction:column;
    background:#F6F2EF;
    color:#000;
    text-decoration:none;
    border-radius:22px;
    overflow:hidden;
    transition:
        transform .5s cubic-bezier(.2,.8,.2,1),
        background .5s ease,
        border-radius .5s ease,
        box-shadow .5s ease;
}

.bhs-reach-choice-card::before{
    content:"";
    position:absolute;
    width:160px;
    height:160px;
    right:-90px;
    bottom:-90px;
    background:white;
    border-radius:50%;
    transform:scale(.7);
    transition:transform .6s ease;
}

.bhs-reach-choice-card::after{
    content:"";
    position:absolute;
    left:50%;
    top:-42px;
    width:15px;
    height:15px;
    background:white;
    border:4px solid #F6F2EF;
    border-radius:50%;
    transform:translateX(-50%);
    transition:
        border-color .4s ease,
        transform .4s ease;
}


/* ACTIVE */

.bhs-reach-choice-card-active{
    background:white;
    transform:translateY(-8px);
    border-radius:32px 22px 32px 22px;
    box-shadow:0 22px 48px rgba(0,0,0,.07);
}

.bhs-reach-choice-card-active::before{
    transform:scale(1.55);
}

.bhs-reach-choice-card-active::after{
    border-color:#000;
    transform:translateX(-50%) scale(1.15);
}


/* CARD TOP */

.bhs-reach-choice-card-top{
    position:relative;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:50px;
}

.bhs-reach-choice-card-top>span{
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    opacity:.45;
}

.bhs-reach-choice-icon{
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:16px;
    font-size:14px;
    transition:
        background .4s ease,
        transform .4s ease,
        border-radius .4s ease;
}

.bhs-reach-choice-card-active
.bhs-reach-choice-icon{
    background:#F6F2EF;
    border-radius:50%;
    transform:rotate(-8deg) scale(1.08);
}


/* CONTENT */

.bhs-reach-choice-card small{
    position:relative;
    z-index:3;
    display:block;
    margin-top:auto;
    margin-bottom:7px;
    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;
    opacity:.5;
}

.bhs-reach-choice-card h3{
    position:relative;
    z-index:3;
    margin:0 0 10px;
    font-size:29px;
    line-height:1;
    letter-spacing:-1px;
    font-weight:500;
}

.bhs-reach-choice-card p{
    position:relative;
    z-index:3;
    max-width:340px;
    margin:0;
    font-size:14px;
    line-height:1.7;
}


/* ACTION */

.bhs-reach-choice-action{
    position:relative;
    z-index:3;
    margin-top:24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.bhs-reach-choice-action strong{
    font-size:14px;
    font-weight:600;
}

.bhs-reach-choice-action>span{
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    border-radius:50%;
    font-size:13px;
    transition:
        transform .35s ease,
        border-radius .35s ease;
}

.bhs-reach-choice-card-active
.bhs-reach-choice-action>span{
    background:#F6F2EF;
}

.bhs-reach-choice-card:hover
.bhs-reach-choice-action>span{
    transform:translateX(4px) rotate(-7deg);
    border-radius:11px;
}


/* SAFE VISIBILITY */

.bhs-reach-choice-head,
.bhs-reach-choice-stage{
    opacity:1;
    transform:translateY(0);
}

.bhs-reach-choice.bhs-reach-choice-animate
.bhs-reach-choice-head,
.bhs-reach-choice.bhs-reach-choice-animate
.bhs-reach-choice-stage{
    opacity:0;
    transform:translateY(22px);
}

.bhs-reach-choice.bhs-reach-choice-visible
.bhs-reach-choice-head{
    animation:
        bhsReachChoiceReveal
        .7s ease forwards;
}

.bhs-reach-choice.bhs-reach-choice-visible
.bhs-reach-choice-stage{
    animation:
        bhsReachChoiceReveal
        .7s ease forwards .15s;
}

@keyframes bhsReachChoiceReveal{
    from{
        opacity:0;
        transform:translateY(22px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}


/* TABLET */

@media(max-width:900px){

    .bhs-reach-choice-title-row{
        grid-template-columns:1fr;
        gap:18px;
    }

    .bhs-reach-choice-stage{
        grid-template-columns:1fr;
        padding-top:0;
    }

    .bhs-reach-choice-line{
        display:none;
    }

    .bhs-reach-choice-card::after{
        display:none;
    }

    .bhs-reach-choice-card-active{
        transform:none;
    }

}


/* MOBILE */

@media(max-width:600px){

    .bhs-reach-choice{
        padding:70px 16px;
    }

    .bhs-reach-choice-head{
        margin-bottom:35px;
    }

    .bhs-reach-choice-title-row h2{
        font-size:42px;
        letter-spacing:-2px;
    }

    .bhs-reach-choice-card{
        min-height:270px;
        padding:20px;
    }

    .bhs-reach-choice-card-top{
        margin-bottom:35px;
    }

    .bhs-reach-choice-card h3{
        font-size:26px;
    }

}

.bhs-order-portal{
    padding:24px 4% 0;
    background:#fff;
    overflow:hidden;
}


.bhs-order-portal-shell{
    position:relative;
    max-width:1500px;
    min-height:650px;
    margin:0 auto;
    padding:90px 70px 110px;

    background:#F6F2EF;
    border-radius:34px;

    overflow:hidden;
}


/* LEFT CONTENT */

.bhs-order-portal-copy{
    position:relative;
    z-index:8;
    width:57%;
    max-width:760px;
}


.bhs-order-portal-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;

    margin-bottom:18px;
    padding:8px 13px;

    background:#fff;
    border-radius:30px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}


.bhs-order-portal-kicker::before{
    content:"";

    width:7px;
    height:7px;

    background:#F6F2EF;

    border:3px solid #fff;
    outline:1px solid #F6F2EF;

    border-radius:50%;
}


.bhs-order-portal-copy h1{
    max-width:820px;
    margin:0;

    font-size:clamp(54px,5.8vw,86px);
    line-height:.93;
    letter-spacing:-4px;
    font-weight:500;
}


.bhs-order-portal-copy h1 span{
    display:block;
}


.bhs-order-portal-copy p{
    max-width:560px;
    margin:22px 0 0;

    font-size:14px;
    line-height:1.8;
}


/* ACTIONS */

.bhs-order-portal-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;

    margin-top:29px;
}


.bhs-order-portal-primary,
.bhs-order-portal-secondary{
    display:inline-flex;
    align-items:center;
    gap:10px;

    color:#000;
    text-decoration:none;

    font-size:14px;
    font-weight:600;

    transition:
        transform .35s ease,
        border-radius .35s ease;
}


.bhs-order-portal-primary{
    padding:14px 18px;

    background:#fff;
    border-radius:14px;
}


.bhs-order-portal-primary i{
    font-size:10px;
    transition:transform .3s ease;
}


.bhs-order-portal-primary:hover{
    transform:translateY(-3px);
    border-radius:23px 14px 23px 14px;
}


.bhs-order-portal-primary:hover i{
    transform:translateX(5px);
}


.bhs-order-portal-secondary{
    padding:7px 14px 7px 7px;
}


.bhs-order-portal-secondary>span{
    width:38px;
    height:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;
    border-radius:50%;

    font-size:14px;
}


/* RIGHT VISUAL */

.bhs-order-portal-visual{
    position:absolute;
    right:0;
    top:0;
    bottom:62px;

    width:44%;

    z-index:4;
}


/* COMPLETE ORDER WORD */

.bhs-order-portal-word{
    position:absolute;

    right:5%;
    top:50%;

    z-index:1;

    width:100%;

    transform:translateY(-50%);

    font-size:clamp(90px,10vw,155px);
    line-height:.85;
    letter-spacing:-8px;
    font-weight:600;

    text-align:right;

    opacity:.055;

    white-space:nowrap;
    pointer-events:none;
}


/* ORBIT */

.bhs-order-portal-orbit{
    position:absolute;

    right:8%;
    top:50%;

    width:350px;
    height:350px;

    transform:translateY(-50%);

    border:1px solid rgba(255,255,255,.95);
    border-radius:50%;

    animation:
        bhsOrderPortalOrbit
        24s linear infinite;
}


.bhs-order-portal-orbit::before{
    content:"";

    position:absolute;
    inset:45px;

    border:1px solid rgba(255,255,255,.7);
    border-radius:50%;
}


.bhs-order-portal-orbit-dot{
    position:absolute;

    left:36px;
    top:42px;

    width:18px;
    height:18px;

    background:#fff;
    border-radius:50%;
}


/* ORGANIC BLOB */

.bhs-order-portal-blob{
    position:absolute;

    right:13%;
    top:52%;

    width:245px;
    height:245px;

    transform:translateY(-50%);

    background:#fff;

    border-radius:
        56% 44% 38% 62% /
        46% 58% 42% 54%;

    animation:
        bhsOrderPortalMorph
        8s ease-in-out infinite;
}


/* ORDER REQUEST CARD */

.bhs-order-portal-request{
    position:absolute;

    right:10%;
    top:82px;

    z-index:7;

    width:300px;
    min-height:245px;

    padding:20px;

    background:#fff;
    border-radius:22px;

    box-shadow:
        0 24px 60px rgba(0,0,0,.07);

    overflow:hidden;
}


.bhs-order-portal-request::before{
    content:"";

    position:absolute;

    width:125px;
    height:125px;

    right:-70px;
    bottom:-70px;

    background:#F6F2EF;

    border-radius:50%;
}


.bhs-order-portal-request-top{
    position:relative;
    z-index:3;

    display:flex;
    align-items:center;
    justify-content:space-between;

    margin-bottom:25px;
}


.bhs-order-portal-request-icon{
    width:46px;
    height:46px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#F6F2EF;

    border-radius:15px;

    font-size:14px;
}


.bhs-order-portal-request-number{
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    opacity:.45;
}


.bhs-order-portal-request>small{
    position:relative;
    z-index:3;

    display:block;

    margin-bottom:7px;

    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.5;
}


.bhs-order-portal-request h3{
    position:relative;
    z-index:3;

    max-width:235px;

    margin:0 0 20px;

    font-size:25px;
    line-height:1.08;
    letter-spacing:-.8px;
    font-weight:500;
}


/* MINI STEPS */

.bhs-order-portal-request-steps{
    position:relative;
    z-index:3;

    display:flex;
    gap:7px;
}


.bhs-order-portal-step{
    flex:1;

    padding:9px 7px;

    background:#F6F2EF;

    border-radius:10px;

    transition:
        transform .35s ease,
        background .35s ease;
}


.bhs-order-portal-step span{
    display:block;

    margin-bottom:3px;

    font-size:13px;
    opacity:.45;
}


.bhs-order-portal-step strong{
    display:block;

    font-size:13px;
    font-weight:500;
}


.bhs-order-portal-step-active{
    background:#000;
    color:#fff;

    transform:translateY(-4px);
}


/* PROGRESS */

.bhs-order-portal-progress{
    position:relative;
    z-index:3;

    width:100%;
    height:3px;

    margin-top:14px;

    background:#F6F2EF;
    border-radius:20px;

    overflow:hidden;
}


.bhs-order-portal-progress span{
    display:block;

    width:33.333%;
    height:100%;

    background:#000;

    border-radius:20px;

    transition:
        width .6s cubic-bezier(.2,.8,.2,1);
}


/* FLOATING NOTE */

.bhs-order-portal-note{
    position:absolute;

    right:24%;
    bottom:72px;

    z-index:8;

    width:245px;
    padding:14px;

    display:flex;
    align-items:center;
    gap:12px;

    background:#fff;
    border-radius:17px;

    box-shadow:
        0 18px 45px rgba(0,0,0,.06);

    animation:
        bhsOrderPortalFloat
        5s ease-in-out infinite;
}


.bhs-order-portal-note>span{
    flex:0 0 42px;

    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#F6F2EF;

    border-radius:13px;

    font-size:13px;
}


.bhs-order-portal-note small{
    display:block;

    margin-bottom:4px;

    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.5;
}


.bhs-order-portal-note strong{
    display:block;

    font-size:14px;
    line-height:1.4;
    font-weight:500;
}


/* BOTTOM RAIL */

.bhs-order-portal-rail{
    position:absolute;

    left:0;
    right:0;
    bottom:0;

    z-index:12;

    height:62px;

    display:flex;
    align-items:center;

    background:#fff;

    overflow:hidden;
}


.bhs-order-portal-track{
    display:flex;
    align-items:center;

    width:max-content;

    flex-shrink:0;

    will-change:transform;

    animation:
        bhsOrderPortalRail
        28s linear infinite;
}


.bhs-order-portal-group{
    display:flex;
    align-items:center;

    flex-shrink:0;

    gap:28px;

    padding-right:28px;

    white-space:nowrap;
}


.bhs-order-portal-group span{
    flex-shrink:0;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}


.bhs-order-portal-group i{
    flex-shrink:0;
    font-size:4px;
}


/* SAFE REVEAL */

.bhs-order-portal-copy,
.bhs-order-portal-visual{
    opacity:1;
    transform:translateY(0);
}


.bhs-order-portal.bhs-order-portal-animate
.bhs-order-portal-copy,
.bhs-order-portal.bhs-order-portal-animate
.bhs-order-portal-visual{
    opacity:0;
    transform:translateY(24px);
}


.bhs-order-portal.bhs-order-portal-visible
.bhs-order-portal-copy{
    animation:
        bhsOrderPortalReveal
        .8s ease forwards;
}


.bhs-order-portal.bhs-order-portal-visible
.bhs-order-portal-visual{
    animation:
        bhsOrderPortalReveal
        .8s ease forwards .18s;
}


/* ANIMATIONS */

@keyframes bhsOrderPortalReveal{
    from{
        opacity:0;
        transform:translateY(24px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}


@keyframes bhsOrderPortalFloat{
    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-9px);
    }
}


@keyframes bhsOrderPortalMorph{
    0%,100%{
        border-radius:
            56% 44% 38% 62% /
            46% 58% 42% 54%;
    }

    50%{
        border-radius:
            38% 62% 58% 42% /
            60% 40% 60% 40%;
    }
}


@keyframes bhsOrderPortalOrbit{
    from{
        transform:
            translateY(-50%)
            rotate(0deg);
    }

    to{
        transform:
            translateY(-50%)
            rotate(360deg);
    }
}


@keyframes bhsOrderPortalRail{
    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-25%);
    }
}


/* TABLET */

@media(max-width:1100px){

    .bhs-order-portal-shell{
        min-height:690px;
        padding:75px 45px 110px;
    }


    .bhs-order-portal-copy{
        width:62%;
    }


    .bhs-order-portal-visual{
        width:46%;
    }


    .bhs-order-portal-word{
        right:3%;
        font-size:100px;
        letter-spacing:-6px;
    }


    .bhs-order-portal-request{
        right:5%;
        width:270px;
    }


    .bhs-order-portal-note{
        right:12%;
        bottom:65px;
    }


    .bhs-order-portal-orbit{
        right:-3%;
        width:300px;
        height:300px;
    }

}


/* MOBILE */

@media(max-width:700px){

    .bhs-order-portal{
        padding:14px 12px 0;
    }


    .bhs-order-portal-shell{
        min-height:auto;

        padding:
            55px 22px
            105px;

        border-radius:24px;
    }


    .bhs-order-portal-copy{
        width:100%;
        max-width:none;
    }


    .bhs-order-portal-copy h1{
        font-size:50px;
        line-height:.96;
        letter-spacing:-3px;
    }


    .bhs-order-portal-copy p{
        font-size:14px;
        line-height:1.7;
    }


    .bhs-order-portal-actions{
        flex-direction:column;
        align-items:flex-start;
    }


    /* VISUAL BECOMES NORMAL FLOW */

    .bhs-order-portal-visual{
        position:relative;

        right:auto;
        top:auto;
        bottom:auto;

        width:100%;
        height:520px;

        margin-top:40px;
    }


    /* FULL ORDER WORD ON MOBILE */

    .bhs-order-portal-word{
        right:0;
        top:48%;

        width:100%;

        transform:translateY(-50%);

        font-size:clamp(70px,23vw,105px);
        letter-spacing:-5px;

        text-align:center;

        opacity:.055;
    }


    .bhs-order-portal-request{
        left:0;
        right:auto;
        top:0;

        width:100%;
        max-width:310px;
    }


    .bhs-order-portal-note{
        left:20px;
        right:auto;
        bottom:25px;

        width:calc(100% - 40px);
    }


    .bhs-order-portal-orbit{
        right:-65px;
        top:60%;

        width:240px;
        height:240px;
    }


    .bhs-order-portal-blob{
        right:-30px;
        top:62%;

        width:180px;
        height:180px;
    }


    .bhs-order-portal-rail{
        height:58px;
    }

}

.bhs-order-studio{
    padding:95px 5%;
    background:#fff;
    overflow:hidden;
}

.bhs-order-studio-inner{
    max-width:1440px;
    margin:0 auto;
}


/* HEADER */

.bhs-order-studio-head{
    margin-bottom:52px;
}

.bhs-order-studio-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;

    margin-bottom:15px;
    padding:8px 13px;

    background:#F6F2EF;
    border-radius:30px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-order-studio-kicker::before{
    content:"";

    width:7px;
    height:7px;

    background:#fff;

    border:3px solid #F6F2EF;
    outline:1px solid #fff;

    border-radius:50%;
}

.bhs-order-studio-title-row{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    align-items:end;
    gap:70px;
}

.bhs-order-studio-title-row h2{
    max-width:850px;
    margin:0;

    font-size:clamp(42px,4.8vw,68px);
    line-height:.98;
    letter-spacing:-2.8px;
    font-weight:500;
}

.bhs-order-studio-title-row h2 span{
    display:block;
}

.bhs-order-studio-title-row p{
    max-width:500px;
    margin:0;

    font-size:15px;
    line-height:1.8;
}


/* FORM LAYOUT */

.bhs-order-studio-form{
    position:relative;
    display:grid;
    grid-template-columns:150px 1fr;
    gap:30px;
}


/* PROGRESS RAIL */

.bhs-order-studio-rail{
    position:relative;
    min-height:100%;
    padding:15px 0;

    display:flex;
    flex-direction:column;
    justify-content:space-around;
}

.bhs-order-studio-rail-line{
    position:absolute;

    left:18px;
    top:15%;
    bottom:15%;

    width:3px;

    background:#F6F2EF;
    border-radius:20px;
}

.bhs-order-studio-rail-fill{
    position:absolute;

    left:0;
    top:0;

    width:100%;
    height:0;

    background:#000;
    border-radius:20px;

    transition:
        height .7s cubic-bezier(.2,.8,.2,1);
}

.bhs-order-studio-rail-dot{
    position:absolute;

    left:50%;
    top:0;

    width:15px;
    height:15px;

    background:#fff;

    border:4px solid #000;
    border-radius:50%;

    transform:
        translate(-50%,-50%);

    box-shadow:
        0 0 0 7px #F6F2EF;

    transition:
        top .7s cubic-bezier(.2,.8,.2,1);
}


/* RAIL BUTTONS */

.bhs-order-studio-rail-step{
    position:relative;
    z-index:3;

    border:0;
    padding:0 0 0 42px;

    background:transparent;

    text-align:left;

    cursor:pointer;

    opacity:.4;

    transition:
        opacity .35s ease,
        transform .35s ease;
}

.bhs-order-studio-rail-step::before{
    content:"";

    position:absolute;

    left:12px;
    top:7px;

    width:15px;
    height:15px;

    background:#fff;

    border:3px solid #F6F2EF;
    border-radius:50%;

    transition:
        background .35s ease,
        border-color .35s ease,
        transform .35s ease;
}

.bhs-order-studio-rail-step span{
    display:block;

    margin-bottom:4px;

    font-size:13px;
    font-weight:600;
}

.bhs-order-studio-rail-step small{
    display:block;

    font-size:13px;
    letter-spacing:.5px;
    white-space:nowrap;
}

.bhs-order-studio-rail-step-active{
    opacity:1;
    transform:translateX(5px);
}

.bhs-order-studio-rail-step-active::before{
    background:#000;
    border-color:#000;
    transform:scale(1.1);
}


/* CONTENT */

.bhs-order-studio-content{
    display:flex;
    flex-direction:column;
    gap:16px;
}


/* FORM BANDS */

.bhs-order-studio-band{
    position:relative;

    display:grid;
    grid-template-columns:.72fr 1.28fr;
    gap:35px;

    padding:26px;

    background:#F6F2EF;
    border-radius:26px;

    overflow:hidden;

    transition:
        transform .5s cubic-bezier(.2,.8,.2,1),
        border-radius .5s ease,
        box-shadow .5s ease;
}

.bhs-order-studio-band::before{
    content:"";

    position:absolute;

    width:180px;
    height:180px;

    right:-105px;
    bottom:-105px;

    background:#fff;
    border-radius:50%;

    transform:scale(.7);

    transition:
        transform .6s ease;
}

.bhs-order-studio-band-reverse{
    grid-template-columns:1.28fr .72fr;
}

.bhs-order-studio-band-active{
    transform:translateX(8px);

    border-radius:
        34px 24px 34px 24px;

    box-shadow:
        0 22px 48px rgba(0,0,0,.06);
}

.bhs-order-studio-band-active::before{
    transform:scale(1.6);
}


/* INTRO */

.bhs-order-studio-intro{
    position:relative;
    z-index:3;

    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.bhs-order-studio-step-number{
    display:block;

    margin-bottom:22px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;

    opacity:.4;
}

.bhs-order-studio-step-icon{
    width:50px;
    height:50px;

    margin-bottom:26px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;
    border-radius:16px;

    font-size:14px;

    transition:
        transform .4s ease,
        border-radius .4s ease;
}

.bhs-order-studio-band-active
.bhs-order-studio-step-icon{
    transform:
        rotate(-8deg)
        scale(1.08);

    border-radius:50%;
}

.bhs-order-studio-intro small{
    display:block;

    margin-bottom:7px;

    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.5;
}

.bhs-order-studio-intro h3{
    margin:0 0 13px;

    font-size:30px;
    line-height:1.02;
    letter-spacing:-1.2px;
    font-weight:500;
}

.bhs-order-studio-intro h3 span{
    display:block;
}

.bhs-order-studio-intro p{
    max-width:310px;
    margin:0;

    font-size:15px;
    line-height:1.7;
}


/* FIELDS */

.bhs-order-studio-field-grid{
    position:relative;
    z-index:3;

    align-self:center;

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
}

.bhs-order-studio-field-full{
    grid-column:1 / -1;
}

.bhs-order-studio-field label{
    display:block;

    margin:0 0 7px 3px;

    font-size:13px;
    font-weight:600;
}


/* INPUT WRAPPER */

.bhs-order-studio-input-wrap{
    position:relative;
}

.bhs-order-studio-input-wrap>i{
    position:absolute;

    left:15px;
    top:50%;

    z-index:2;

    transform:translateY(-50%);

    font-size:11px;

    opacity:.4;

    pointer-events:none;
}

.bhs-order-studio-input-wrap input,
.bhs-order-studio-input-wrap select,
.bhs-order-studio-input-wrap textarea{
    width:100%;

    border:none;
    outline:none;

    padding:
        15px 15px
        15px 40px;

    background:#fff;
    color:#000;

    border-radius:14px;

    font:inherit;
    font-size:14px;

    transition:
        transform .35s ease,
        border-radius .35s ease,
        box-shadow .35s ease;
}

.bhs-order-studio-input-wrap select{
    cursor:pointer;
}

.bhs-order-studio-input-wrap textarea{
    min-height:125px;
    resize:vertical;

    padding-top:16px;
}

.bhs-order-studio-textarea-wrap>i{
    top:19px;
    transform:none;
}

.bhs-order-studio-input-wrap input:focus,
.bhs-order-studio-input-wrap select:focus,
.bhs-order-studio-input-wrap textarea:focus{
    transform:translateY(-2px);

    border-radius:
        21px 14px 21px 14px;

    box-shadow:
        0 12px 30px rgba(0,0,0,.05);
}

.bhs-order-studio-input-wrap input::placeholder,
.bhs-order-studio-input-wrap textarea::placeholder{
    opacity:.45;
}


/* SUBMIT DOCK */

.bhs-order-studio-submit-dock{
    padding:17px 18px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:25px;

    background:#F6F2EF;
    border-radius:20px;
}

.bhs-order-studio-submit-copy{
    display:flex;
    align-items:center;
    gap:13px;
}

.bhs-order-studio-submit-copy>span{
    flex:0 0 44px;

    width:44px;
    height:44px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;
    border-radius:14px;

    font-size:13px;
}

.bhs-order-studio-submit-copy small{
    display:block;

    margin-bottom:3px;

    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.5;
}

.bhs-order-studio-submit-copy strong{
    font-size:14px;
    font-weight:500;
}

.bhs-order-studio-submit-btn{
    border:0;

    padding:
        8px 8px
        8px 18px;

    display:inline-flex;
    align-items:center;
    gap:15px;

    background:#000;
    color:#fff;

    border-radius:14px;

    font-size:13px;
    font-weight:600;

    cursor:pointer;

    transition:
        transform .35s ease,
        border-radius .35s ease;
}

.bhs-order-studio-submit-btn>span{
    width:38px;
    height:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;
    color:#000;

    border-radius:10px;

    font-size:13px;

    transition:transform .35s ease;
}

.bhs-order-studio-submit-btn:hover{
    transform:translateY(-3px);

    border-radius:
        22px 14px 22px 14px;
}

.bhs-order-studio-submit-btn:hover>span{
    transform:
        translateX(3px)
        rotate(-7deg);
}


/* SAFE REVEAL */

.bhs-order-studio-head,
.bhs-order-studio-form{
    opacity:1;
    transform:translateY(0);
}

.bhs-order-studio.bhs-order-studio-animate
.bhs-order-studio-head,
.bhs-order-studio.bhs-order-studio-animate
.bhs-order-studio-form{
    opacity:0;
    transform:translateY(22px);
}

.bhs-order-studio.bhs-order-studio-visible
.bhs-order-studio-head{
    animation:
        bhsOrderStudioReveal
        .7s ease forwards;
}

.bhs-order-studio.bhs-order-studio-visible
.bhs-order-studio-form{
    animation:
        bhsOrderStudioReveal
        .8s ease forwards .15s;
}

@keyframes bhsOrderStudioReveal{
    from{
        opacity:0;
        transform:translateY(22px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}


/* TABLET */

@media(max-width:1050px){

    .bhs-order-studio-title-row{
        grid-template-columns:1fr;
        gap:18px;
    }

    .bhs-order-studio-form{
        grid-template-columns:1fr;
    }

    .bhs-order-studio-rail{
        min-height:auto;

        flex-direction:row;
        justify-content:space-between;

        padding:0 0 20px;
    }

    .bhs-order-studio-rail-line{
        left:5%;
        right:5%;
        top:auto;
        bottom:0;

        width:auto;
        height:3px;
    }

    .bhs-order-studio-rail-fill{
        width:0;
        height:100%;
    }

    .bhs-order-studio-rail-dot{
        left:0;
        top:50%;

        transition:left .7s ease;
    }

    .bhs-order-studio-rail-step{
        padding:0;
        text-align:center;
    }

    .bhs-order-studio-rail-step::before{
        display:none;
    }

}


/* MOBILE */

@media(max-width:700px){

    .bhs-order-studio{
        padding:70px 16px;
    }

    .bhs-order-studio-title-row h2{
        font-size:42px;
        letter-spacing:-2px;
    }

    .bhs-order-studio-rail{
        gap:8px;
    }

    .bhs-order-studio-rail-step small{
        display:none;
    }

    .bhs-order-studio-band,
    .bhs-order-studio-band-reverse{
        grid-template-columns:1fr;
        gap:28px;

        padding:20px;

        border-radius:22px;
    }

    .bhs-order-studio-band-active{
        transform:none;
    }

    .bhs-order-studio-band-reverse
    .bhs-order-studio-field-grid{
        order:2;
    }

    .bhs-order-studio-band-reverse
    .bhs-order-studio-intro{
        order:1;
    }

    .bhs-order-studio-step-number{
        margin-bottom:14px;
    }

    .bhs-order-studio-step-icon{
        margin-bottom:18px;
    }

    .bhs-order-studio-intro h3{
        font-size:27px;
    }

    .bhs-order-studio-field-grid{
        grid-template-columns:1fr;
        width:100%;
    }

    .bhs-order-studio-field-full{
        grid-column:auto;
    }

    .bhs-order-studio-submit-dock{
        flex-direction:column;
        align-items:stretch;
    }

    .bhs-order-studio-submit-btn{
        width:100%;
        justify-content:space-between;
    }

}

.bhs-after-request{
    padding:95px 5%;
    background:#F6F2EF;
    overflow:hidden;
}

.bhs-after-request-inner{
    max-width:1440px;
    margin:0 auto;
}


/* HEADER */

.bhs-after-request-head{
    margin-bottom:55px;
}

.bhs-after-request-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;

    margin-bottom:15px;
    padding:8px 13px;

    background:#fff;
    border-radius:30px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-after-request-kicker::before{
    content:"";

    width:7px;
    height:7px;

    background:#F6F2EF;

    border:3px solid #fff;
    outline:1px solid #F6F2EF;

    border-radius:50%;
}

.bhs-after-request-title-row{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    align-items:end;
    gap:70px;
}

.bhs-after-request-title-row h2{
    max-width:850px;
    margin:0;

    font-size:clamp(42px,4.8vw,68px);
    line-height:.98;
    letter-spacing:-2.8px;
    font-weight:500;
}

.bhs-after-request-title-row h2 span{
    display:block;
}

.bhs-after-request-title-row p{
    max-width:500px;
    margin:0;

    font-size:15px;
    line-height:1.8;
}


/* STAGE */

.bhs-after-request-stage{
    position:relative;

    min-height:520px;

    display:grid;
    grid-template-columns:repeat(12,1fr);
    align-items:start;
}


/* CARDS */

.bhs-after-request-card{
    position:relative;
    z-index:5;

    min-height:260px;
    padding:21px;

    display:flex;
    flex-direction:column;

    background:#fff;
    border-radius:22px;

    overflow:hidden;

    cursor:pointer;

    transition:
        transform .5s cubic-bezier(.2,.8,.2,1),
        border-radius .5s ease,
        box-shadow .5s ease;
}

.bhs-after-request-card::before{
    content:"";

    position:absolute;

    width:145px;
    height:145px;

    right:-85px;
    bottom:-85px;

    background:#F6F2EF;

    border-radius:50%;

    transform:scale(.7);

    transition:transform .6s ease;
}


/* POSITIONS */

.bhs-after-request-card-one{
    grid-column:1 / span 4;
    margin-top:0;
}

.bhs-after-request-card-two{
    grid-column:5 / span 4;
    margin-top:145px;
}

.bhs-after-request-card-three{
    grid-column:9 / span 4;
    margin-top:20px;
}


/* ACTIVE */

.bhs-after-request-card-active{
    transform:translateY(-8px);

    border-radius:
        32px 22px 32px 22px;

    box-shadow:
        0 22px 48px rgba(0,0,0,.07);
}

.bhs-after-request-card-active::before{
    transform:scale(1.55);
}


/* CARD HEAD */

.bhs-after-request-card-head{
    position:relative;
    z-index:3;

    display:flex;
    align-items:center;
    justify-content:space-between;

    margin-bottom:48px;
}

.bhs-after-request-number{
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;

    opacity:.45;
}

.bhs-after-request-icon{
    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#F6F2EF;

    border-radius:16px;

    font-size:14px;

    transition:
        transform .4s ease,
        border-radius .4s ease;
}

.bhs-after-request-card-active
.bhs-after-request-icon{
    transform:
        rotate(-8deg)
        scale(1.08);

    border-radius:50%;
}


/* COPY */

.bhs-after-request-copy{
    position:relative;
    z-index:3;

    margin-top:auto;
}

.bhs-after-request-copy small{
    display:block;

    margin-bottom:7px;

    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.5;
}

.bhs-after-request-copy h3{
    margin:0 0 10px;

    font-size:27px;
    line-height:1.05;
    letter-spacing:-1px;
    font-weight:500;
}

.bhs-after-request-copy h3 span{
    display:block;
}

.bhs-after-request-copy p{
    max-width:300px;
    margin:0;

    font-size:14px;
    line-height:1.7;
}


/* STATUS */

.bhs-after-request-status{
    position:relative;
    z-index:3;

    width:max-content;

    margin-top:20px;
    padding:8px 11px;

    display:flex;
    align-items:center;
    gap:7px;

    background:#F6F2EF;
    border-radius:30px;

    font-size:13px;
    font-weight:600;
}

.bhs-after-request-status>span{
    width:6px;
    height:6px;

    background:#000;
    border-radius:50%;

    opacity:.3;

    transition:
        opacity .35s ease,
        transform .35s ease;
}

.bhs-after-request-card-active
.bhs-after-request-status>span{
    opacity:1;
    transform:scale(1.25);
}


/* CONNECTION LINES */

.bhs-after-request-line{
    position:absolute;

    z-index:2;

    height:3px;

    background:#fff;
    border-radius:30px;

    overflow:hidden;

    transform-origin:left center;
}

.bhs-after-request-line>span{
    display:block;

    width:0;
    height:100%;

    background:#000;

    border-radius:30px;
}

.bhs-after-request-line-one{
    left:29%;
    top:140px;

    width:22%;

    transform:rotate(25deg);
}

.bhs-after-request-line-two{
    left:50%;
    top:282px;

    width:21.5%;

    transform:rotate(-25deg);
}

.bhs-after-request-line-active>span{
    animation:
        bhsAfterRequestLineFill
        3.4s linear forwards;
}


/* CENTER MESSAGE */

.bhs-after-request-center{
    position:absolute;

    left:50%;
    bottom:0;

    z-index:4;

    width:180px;
    height:180px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    text-align:center;

    transform:translateX(-50%);

    background:#fff;

    border-radius:
        42% 58% 57% 43% /
        55% 42% 58% 45%;

    animation:
        bhsAfterRequestMorph
        7s ease-in-out infinite;
}

.bhs-after-request-center>span{
    margin-bottom:6px;

    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.5;
}

.bhs-after-request-center>strong{
    font-size:24px;
    line-height:1;
    letter-spacing:-.8px;
    font-weight:500;

    transition:
        opacity .25s ease,
        transform .25s ease;
}

.bhs-after-request-center-dot{
    width:38px;
    height:38px;

    margin-top:15px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#F6F2EF;

    border-radius:50%;

    font-size:10px;

    animation:
        bhsAfterRequestArrow
        2.5s ease-in-out infinite;
}


/* SAFE VISIBILITY */

.bhs-after-request-head,
.bhs-after-request-stage{
    opacity:1;
    transform:translateY(0);
}

.bhs-after-request.bhs-after-request-animate
.bhs-after-request-head,
.bhs-after-request.bhs-after-request-animate
.bhs-after-request-stage{
    opacity:0;
    transform:translateY(22px);
}

.bhs-after-request.bhs-after-request-visible
.bhs-after-request-head{
    animation:
        bhsAfterRequestReveal
        .7s ease forwards;
}

.bhs-after-request.bhs-after-request-visible
.bhs-after-request-stage{
    animation:
        bhsAfterRequestReveal
        .8s ease forwards .15s;
}


/* ANIMATIONS */

@keyframes bhsAfterRequestReveal{
    from{
        opacity:0;
        transform:translateY(22px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes bhsAfterRequestLineFill{
    from{
        width:0;
    }

    to{
        width:100%;
    }
}

@keyframes bhsAfterRequestMorph{
    0%,100%{
        border-radius:
            42% 58% 57% 43% /
            55% 42% 58% 45%;

        transform:
            translateX(-50%)
            rotate(0);
    }

    50%{
        border-radius:
            60% 40% 44% 56% /
            42% 58% 42% 58%;

        transform:
            translateX(-50%)
            rotate(12deg);
    }
}

@keyframes bhsAfterRequestArrow{
    0%,100%{
        transform:translateX(0);
    }

    50%{
        transform:translateX(6px);
    }
}


/* TABLET */

@media(max-width:950px){

    .bhs-after-request-title-row{
        grid-template-columns:1fr;
        gap:18px;
    }

    .bhs-after-request-stage{
        min-height:auto;

        display:flex;
        flex-direction:column;

        gap:16px;
    }

    .bhs-after-request-card-one,
    .bhs-after-request-card-two,
    .bhs-after-request-card-three{
        width:100%;
        margin-top:0;
    }

    .bhs-after-request-line,
    .bhs-after-request-center{
        display:none;
    }

}


/* MOBILE */

@media(max-width:600px){

    .bhs-after-request{
        padding:70px 16px;
    }

    .bhs-after-request-head{
        margin-bottom:35px;
    }

    .bhs-after-request-title-row h2{
        font-size:42px;
        letter-spacing:-2px;
    }

    .bhs-after-request-stage{
        position:relative;

        padding-left:34px;
    }


    /* MOBILE VERTICAL JOURNEY LINE */

    .bhs-after-request-stage::before{
        content:"";

        position:absolute;

        left:12px;
        top:22px;
        bottom:22px;

        width:3px;

        background:#fff;

        border-radius:20px;
    }


    .bhs-after-request-card{
        min-height:235px;
        padding:19px;
    }


    .bhs-after-request-card::after{
        content:"";

        position:absolute;

        left:-28px;
        top:50%;

        width:14px;
        height:14px;

        background:#F6F2EF;

        border:4px solid #fff;
        border-radius:50%;

        transform:translateY(-50%);

        transition:
            background .35s ease,
            border-color .35s ease,
            transform .35s ease;
    }


    .bhs-after-request-card-active{
        transform:translateX(5px);
    }


    .bhs-after-request-card-active::after{
        background:#000;
        border-color:#fff;

        transform:
            translateY(-50%)
            scale(1.12);
    }


    .bhs-after-request-card-head{
        margin-bottom:32px;
    }


    .bhs-after-request-copy h3{
        font-size:25px;
    }

}

.bhs-products-mirror{
    padding:24px 4% 0;
    background:#fff;
    overflow:hidden;
}

.bhs-products-mirror-shell{
    position:relative;
    max-width:1500px;
    min-height:650px;
    margin:0 auto;
    padding:90px 70px 110px;
    background:#F6F2EF;
    border-radius:34px;
    overflow:hidden;
}


/* LEFT CONTENT */

.bhs-products-mirror-copy{
    position:relative;
    z-index:8;
    width:58%;
    max-width:780px;
}

.bhs-products-mirror-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:18px;
    padding:8px 13px;
    background:#fff;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-products-mirror-kicker::before{
    content:"";
    width:7px;
    height:7px;
    background:#F6F2EF;
    border:3px solid #fff;
    outline:1px solid #F6F2EF;
    border-radius:50%;
}

.bhs-products-mirror-copy h1{
    margin:0;
    max-width:820px;
    font-size:clamp(54px,5.8vw,86px);
    line-height:.93;
    letter-spacing:-4px;
    font-weight:500;
}

.bhs-products-mirror-copy h1 span{
    display:block;
}

.bhs-products-mirror-copy p{
    max-width:560px;
    margin:22px 0 0;
    font-size:14px;
    line-height:1.8;
}


/* ACTION */

.bhs-products-mirror-actions{
    margin-top:28px;
}

.bhs-products-mirror-primary{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:14px 18px;
    background:#fff;
    color:#000;
    border-radius:14px;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
    transition:
        transform .35s ease,
        border-radius .35s ease;
}

.bhs-products-mirror-primary i{
    font-size:10px;
    transition:transform .3s ease;
}

.bhs-products-mirror-primary:hover{
    transform:translateY(-3px);
    border-radius:23px 14px 23px 14px;
}

.bhs-products-mirror-primary:hover i{
    transform:translateX(5px);
}


/* RIGHT VISUAL */

.bhs-products-mirror-visual{
    position:absolute;
    right:0;
    top:0;
    bottom:62px;
    width:44%;
    z-index:4;
}


/* PRODUCTS WORD */

.bhs-products-mirror-word{
    position:absolute;
    right:5%;
    top:50%;
    z-index:1;
    width:100%;
    transform:translateY(-50%);
    font-size:clamp(72px,8.5vw,135px);
    line-height:.9;
    letter-spacing:-7px;
    font-weight:600;
    text-align:right;
    opacity:.05;
    white-space:nowrap;
    pointer-events:none;
}


/* ORBIT */

.bhs-products-mirror-orbit{
    position:absolute;
    right:7%;
    top:50%;
    width:350px;
    height:350px;
    transform:translateY(-50%);
    border:1px solid rgba(255,255,255,.95);
    border-radius:50%;
    animation:bhsProductsMirrorSpin 24s linear infinite;
}

.bhs-products-mirror-orbit::before{
    content:"";
    position:absolute;
    inset:48px;
    border:1px solid rgba(255,255,255,.7);
    border-radius:50%;
}

.bhs-products-mirror-orbit span{
    position:absolute;
    left:34px;
    top:44px;
    width:18px;
    height:18px;
    background:#fff;
    border-radius:50%;
}


/* BLOB */

.bhs-products-mirror-blob{
    position:absolute;
    right:12%;
    top:54%;
    width:245px;
    height:245px;
    transform:translateY(-50%);
    background:#fff;
    border-radius:
        58% 42% 39% 61% /
        48% 58% 42% 52%;
    animation:bhsProductsMirrorMorph 8s ease-in-out infinite;
}


/* FLOATING PRODUCT CARD */

.bhs-products-mirror-card{
    position:absolute;
    right:9%;
    top:82px;
    z-index:7;
    width:290px;
    min-height:220px;
    padding:20px;
    background:#fff;
    border-radius:22px;
    box-shadow:0 24px 60px rgba(0,0,0,.07);
    overflow:hidden;
}

.bhs-products-mirror-card::before{
    content:"";
    position:absolute;
    width:125px;
    height:125px;
    right:-70px;
    bottom:-70px;
    background:#F6F2EF;
    border-radius:50%;
}

.bhs-products-mirror-card-top{
    position:relative;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:30px;
}

.bhs-products-mirror-card-icon{
    width:47px;
    height:47px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F6F2EF;
    border-radius:15px;
    font-size:14px;
}

.bhs-products-mirror-card-top small{
    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;
    opacity:.5;
}

.bhs-products-mirror-card h3{
    position:relative;
    z-index:3;
    max-width:240px;
    margin:0 0 20px;
    font-size:25px;
    line-height:1.08;
    letter-spacing:-.9px;
    font-weight:500;
}


/* CARD TAGS */

.bhs-products-mirror-card-tags{
    position:relative;
    z-index:3;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.bhs-products-mirror-card-tags span{
    padding:7px 10px;
    background:#F6F2EF;
    border-radius:20px;
    font-size:13px;
    font-weight:600;
}


/* FLOATING NOTE */

.bhs-products-mirror-note{
    position:absolute;
    right:22%;
    bottom:72px;
    z-index:8;
    width:250px;
    padding:14px;
    display:flex;
    align-items:center;
    gap:12px;
    background:#fff;
    border-radius:17px;
    box-shadow:0 18px 45px rgba(0,0,0,.06);
    animation:bhsProductsMirrorFloat 5s ease-in-out infinite;
}

.bhs-products-mirror-note>span{
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F6F2EF;
    border-radius:13px;
    font-size:13px;
}

.bhs-products-mirror-note small{
    display:block;
    margin-bottom:4px;
    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;
    opacity:.5;
}

.bhs-products-mirror-note strong{
    display:block;
    font-size:14px;
    line-height:1.4;
    font-weight:500;
}


/* BOTTOM RAIL */

.bhs-products-mirror-rail{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:12;
    height:62px;
    display:flex;
    align-items:center;
    background:#fff;
    overflow:hidden;
}

.bhs-products-mirror-track{
    display:flex;
    align-items:center;
    width:max-content;
    flex-shrink:0;
    will-change:transform;
    animation:bhsProductsMirrorRail 28s linear infinite;
}

.bhs-products-mirror-group{
    display:flex;
    align-items:center;
    flex-shrink:0;
    gap:28px;
    padding-right:28px;
    white-space:nowrap;
}

.bhs-products-mirror-group span{
    flex-shrink:0;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-products-mirror-group i{
    flex-shrink:0;
    font-size:4px;
}


/* SAFE VISIBILITY */

.bhs-products-mirror-copy,
.bhs-products-mirror-visual{
    opacity:1;
    transform:translateY(0);
}

.bhs-products-mirror.bhs-products-mirror-animate
.bhs-products-mirror-copy,
.bhs-products-mirror.bhs-products-mirror-animate
.bhs-products-mirror-visual{
    opacity:0;
    transform:translateY(24px);
}

.bhs-products-mirror.bhs-products-mirror-visible
.bhs-products-mirror-copy{
    animation:bhsProductsMirrorReveal .8s ease forwards;
}

.bhs-products-mirror.bhs-products-mirror-visible
.bhs-products-mirror-visual{
    animation:bhsProductsMirrorReveal .8s ease forwards .18s;
}


/* ANIMATIONS */

@keyframes bhsProductsMirrorReveal{
    from{
        opacity:0;
        transform:translateY(24px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes bhsProductsMirrorFloat{
    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-9px);
    }
}

@keyframes bhsProductsMirrorMorph{
    0%,100%{
        border-radius:
            58% 42% 39% 61% /
            48% 58% 42% 52%;
    }

    50%{
        border-radius:
            38% 62% 57% 43% /
            60% 40% 60% 40%;
    }
}

@keyframes bhsProductsMirrorSpin{
    from{
        transform:
            translateY(-50%)
            rotate(0deg);
    }

    to{
        transform:
            translateY(-50%)
            rotate(360deg);
    }
}

@keyframes bhsProductsMirrorRail{
    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-25%);
    }
}


/* TABLET */

@media(max-width:1100px){

    .bhs-products-mirror-shell{
        min-height:690px;
        padding:75px 45px 110px;
    }

    .bhs-products-mirror-copy{
        width:62%;
    }

    .bhs-products-mirror-visual{
        width:46%;
    }

    .bhs-products-mirror-word{
        right:2%;
        font-size:82px;
        letter-spacing:-5px;
    }

    .bhs-products-mirror-card{
        right:4%;
        width:270px;
    }

    .bhs-products-mirror-note{
        right:10%;
    }

    .bhs-products-mirror-orbit{
        right:-4%;
        width:300px;
        height:300px;
    }

}


/* MOBILE */

@media(max-width:700px){

    .bhs-products-mirror{
        padding:14px 12px 0;
    }


    .bhs-products-mirror-shell{
        min-height:720px;
        padding:55px 22px 100px;
        border-radius:24px;
    }


    .bhs-products-mirror-copy{
        width:100%;
        max-width:none;
    }


    .bhs-products-mirror-copy h1{
        font-size:50px;
        line-height:.96;
        letter-spacing:-3px;
    }


    .bhs-products-mirror-copy p{
        font-size:14px;
        line-height:1.7;
    }


    .bhs-products-mirror-actions{
        margin-top:24px;
    }


    /* MOBILE RIGHT VISUAL */

    .bhs-products-mirror-visual{
        position:absolute;
        left:0;
        right:0;
        top:auto;
        bottom:58px;

        width:100%;
        height:330px;
    }


    /* HIDE COMPLETE PRODUCT CARD */

    .bhs-products-mirror-card{
        display:none;
    }


    /* FULL PRODUCTS WORD */

    .bhs-products-mirror-word{
        left:0;
        right:0;
        top:50%;

        width:100%;

        transform:translateY(-50%);

        font-size:clamp(54px,17vw,76px);
        line-height:1;
        letter-spacing:-4px;

        text-align:center;

        opacity:.055;
    }


    /* DECORATIVE ORBIT */

    .bhs-products-mirror-orbit{
        right:-55px;
        top:54%;

        width:235px;
        height:235px;
    }


    .bhs-products-mirror-orbit::before{
        inset:36px;
    }


    /* DECORATIVE BLOB */

    .bhs-products-mirror-blob{
        right:-20px;
        top:56%;

        width:170px;
        height:170px;
    }


    /* FLOATING NOTE */

    .bhs-products-mirror-note{
        left:20px;
        right:20px;
        bottom:32px;

        width:auto;

        animation:bhsProductsMirrorFloat 5s ease-in-out infinite;
    }


    /* RAIL */

    .bhs-products-mirror-rail{
        height:58px;
    }

}

/* =====================================================
   SECTION
===================================================== */

.bhs-catalog-deck{
    padding:75px 5% 100px;
    background:#fff;
    overflow:hidden;
}

.bhs-catalog-deck-inner{
    max-width:1440px;
    margin:0 auto;
}



/* =====================================================
   SEARCH PANEL
===================================================== */

.bhs-catalog-deck-search-panel{
    position:relative;

    margin-bottom:34px;
    padding:40px 44px;

    display:grid;
    grid-template-columns:.9fr 1.1fr;
    align-items:center;
    gap:70px;

    background:#F6F2EF;

    border-radius:
        34px 34px 70px 34px;

    overflow:hidden;
}

.bhs-catalog-deck-search-panel::before{
    content:"";

    position:absolute;

    width:280px;
    height:280px;

    right:-150px;
    bottom:-170px;

    border:1px solid #fff;
    border-radius:50%;
}

.bhs-catalog-deck-search-panel::after{
    content:"";

    position:absolute;

    width:130px;
    height:130px;

    right:-45px;
    bottom:-60px;

    background:#fff;

    border-radius:50%;

    opacity:.55;
}



/* =====================================================
   SEARCH COPY
===================================================== */

.bhs-catalog-deck-search-copy{
    position:relative;
    z-index:3;
}

.bhs-catalog-deck-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;

    margin-bottom:13px;
    padding:8px 12px;

    background:#fff;

    border-radius:30px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-catalog-deck-kicker::before{
    content:"";

    width:6px;
    height:6px;

    background:#000;

    border-radius:50%;
}

.bhs-catalog-deck-search-copy h2{
    margin:0;

    font-size:clamp(38px,4.1vw,58px);
    line-height:.98;
    letter-spacing:-2.4px;
    font-weight:500;
}

.bhs-catalog-deck-search-copy h2 span{
    display:block;
}

.bhs-catalog-deck-search-copy p{
    max-width:470px;

    margin:14px 0 0;

    font-size:14px;
    line-height:1.75;
}



/* =====================================================
   SEARCH SIDE
===================================================== */

.bhs-catalog-deck-search-side{
    position:relative;
    z-index:4;
}

.bhs-catalog-deck-search-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;

    margin-bottom:10px;
    padding:0 4px;
}

.bhs-catalog-deck-search-meta>span{
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-catalog-deck-search-meta small{
    font-size:13px;
    opacity:.5;
}



/* =====================================================
   SEARCH BOX
===================================================== */

.bhs-catalog-deck-search-box{
    position:relative;

    height:74px;

    display:flex;
    align-items:center;

    background:#fff;

    border-radius:
        22px 22px 36px 22px;

    box-shadow:
        0 18px 45px rgba(0,0,0,.04);

    transition:
        transform .35s ease,
        border-radius .35s ease,
        box-shadow .35s ease;
}

.bhs-catalog-deck-search-box:focus-within{
    transform:translateY(-4px);

    border-radius:
        32px 22px 32px 22px;

    box-shadow:
        0 22px 55px rgba(0,0,0,.07);
}

.bhs-catalog-deck-search-icon{
    flex:0 0 50px;

    width:50px;
    height:50px;

    margin-left:12px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#F6F2EF;

    border-radius:16px;

    font-size:13px;

    transition:
        transform .4s ease,
        border-radius .4s ease;
}

.bhs-catalog-deck-search-box:focus-within
.bhs-catalog-deck-search-icon{
    transform:
        rotate(-7deg)
        scale(1.05);

    border-radius:50%;
}

.bhs-catalog-deck-search-box input{
    flex:1;
    min-width:0;

    height:100%;

    padding:0 15px;

    border:0;
    outline:0;

    background:transparent;
    color:#000;

    font:inherit;
    font-size:16px;
}

.bhs-catalog-deck-search-box input::placeholder{
    color:#000;
    opacity:.35;
}



/* =====================================================
   CLEAR BUTTON
===================================================== */

.bhs-catalog-deck-clear{
    flex:0 0 40px;

    width:40px;
    height:40px;

    margin-right:14px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:0;

    background:#F6F2EF;

    border-radius:50%;

    font-size:14px;

    cursor:pointer;

    opacity:0;
    visibility:hidden;

    transform:scale(.8);

    transition:
        opacity .3s ease,
        visibility .3s ease,
        transform .3s ease,
        border-radius .3s ease;
}

.bhs-catalog-deck-clear.bhs-catalog-deck-clear-visible{
    opacity:1;
    visibility:visible;

    transform:scale(1);
}

.bhs-catalog-deck-clear:hover{
    border-radius:12px;

    transform:
        scale(1)
        rotate(7deg);
}



/* =====================================================
   SEARCH FEEDBACK
===================================================== */

.bhs-catalog-deck-feedback{
    margin-top:9px;
    padding-left:4px;

    font-size:14px;
    line-height:1.5;

    opacity:.5;
}



/* =====================================================
   PRODUCT GRID
===================================================== */

.bhs-catalog-deck-grid{
    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:16px;

    align-items:stretch;
}



/* =====================================================
   PRODUCT CARD
===================================================== */

.bhs-catalog-deck-card{
    position:relative;
    min-width:0;

    display:flex;
    flex-direction:column;

    background:#E5DED9;

    border:1px solid rgba(0,0,0,.035);

    border-radius:24px;

    overflow:hidden;

    transition:
        transform .5s cubic-bezier(.2,.8,.2,1),
        border-radius .5s ease,
        box-shadow .5s ease;
}

.bhs-catalog-deck-card:hover{
    transform:translateY(-8px);

    border-radius:
        34px 24px 34px 24px;

    box-shadow:
        0 24px 55px rgba(0,0,0,.10);
}



/* =====================================================
   FULL PRODUCT IMAGE AREA
===================================================== */

.bhs-catalog-deck-image{
    position:relative;

    width:100%;
    height:340px;

    display:block;

    background:#D8CFC8;

    color:#000;
    text-decoration:none;

    overflow:hidden;    
}


/* NO CIRCLE */

.bhs-catalog-deck-image::before{
    display:none;
}


/* PRODUCT IMAGE */

.bhs-catalog-deck-image img{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    padding:0;
    margin:0;

    object-fit:cover;
    object-position:center;

    transform:none;

    transition:
        transform .6s cubic-bezier(.2,.8,.2,1);
}

.bhs-catalog-deck-card:hover
.bhs-catalog-deck-image img{
    transform:scale(1.04);
}



/* =====================================================
   PRODUCT NUMBER
===================================================== */

.bhs-catalog-deck-number{
    position:absolute;

    left:15px;
    top:15px;

    z-index:5;

    min-width:36px;
    height:36px;

    padding:0 8px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#EEE8E4;

    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);

    border:
        1px solid rgba(255,255,255,.55);

    border-radius:11px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;

    box-shadow:
        0 8px 22px rgba(0,0,0,.04);
}



/* =====================================================
   QUICK VIEW ICON
===================================================== */

.bhs-catalog-deck-quick{
    position:absolute;

    right:15px;
    top:15px;

    z-index:5;

    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        rgba(255,255,255,.82);

    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);

    color:#000;

    border-radius:14px;

    font-size:13px;

    opacity:0;

    transform:
        translateY(-6px)
        rotate(-7deg);

    transition:
        opacity .35s ease,
        transform .35s ease,
        border-radius .35s ease;
}

.bhs-catalog-deck-card:hover
.bhs-catalog-deck-quick{
    opacity:1;
    transform:none;
}

.bhs-catalog-deck-quick:hover{
    border-radius:50%;

    transform:rotate(7deg);
}



/* =====================================================
   CARD CONTENT
===================================================== */

.bhs-catalog-deck-content{
    position:relative;

    flex:1;

    min-height:230px;

    padding:20px;

    display:flex;
    flex-direction:column;

    background:#EEE8E4;

    border-top:
        1px solid rgba(255,255,255,.5);

    overflow:hidden;
}

.bhs-catalog-deck-content::before{
    content:"";

    position:absolute;

    width:125px;
    height:125px;

    right:-75px;
    bottom:-75px;

    background:
        rgba(255,255,255,.38);

    border-radius:50%;

    transition:
        transform .6s ease;
}

.bhs-catalog-deck-card:hover
.bhs-catalog-deck-content::before{
    transform:scale(1.5);
}



/* =====================================================
   CATEGORY
===================================================== */

.bhs-catalog-deck-content>small{
    position:relative;
    z-index:2;

    display:block;

    margin-bottom:7px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.5;
}



/* =====================================================
   PRODUCT TITLE
===================================================== */

.bhs-catalog-deck-content h3{
    position:relative;
    z-index:2;

    margin:0 0 10px;

    font-size:25px;
    line-height:1.05;
    letter-spacing:-.9px;
    font-weight:500;
}



/* =====================================================
   DESCRIPTION
===================================================== */

.bhs-catalog-deck-content p{
    position:relative;
    z-index:2;

    margin:0;

    font-size:15px;
    line-height:1.7;

    opacity:.76;
}



/* =====================================================
   VIEW DETAILS
===================================================== */

.bhs-catalog-deck-link{
    position:relative;
    z-index:3;

    width:max-content;

    margin-top:auto;
    padding-top:18px;

    display:inline-flex;
    align-items:center;

    gap:9px;

    color:#000;

    text-decoration:none;

    font-size:14px;
    font-weight:600;
}

.bhs-catalog-deck-link>span{
    width:32px;
    height:32px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        rgba(255,255,255,.7);

    border-radius:50%;

    font-size:14px;

    transition:
        transform .35s ease,
        border-radius .35s ease,
        background .35s ease;
}

.bhs-catalog-deck-link:hover>span{
    transform:
        translateX(5px)
        rotate(-7deg);

    border-radius:10px;

    background:#fff;
}



/* =====================================================
   FILTERED CARD
===================================================== */

.bhs-catalog-deck-card.bhs-catalog-deck-hidden{
    display:none;
}



/* =====================================================
   EMPTY SEARCH STATE
===================================================== */

.bhs-catalog-deck-empty{
    display:none;

    grid-column:1 / -1;

    padding:65px 25px;

    text-align:center;

    background:#F6F2EF;

    border-radius:24px;
}

.bhs-catalog-deck-empty.bhs-catalog-deck-empty-visible{
    display:block;
}

.bhs-catalog-deck-empty>span{
    width:56px;
    height:56px;

    margin:0 auto 15px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;

    border-radius:18px;

    font-size:15px;
}

.bhs-catalog-deck-empty h3{
    margin:0 0 7px;

    font-size:26px;
    letter-spacing:-.8px;
    font-weight:500;
}

.bhs-catalog-deck-empty p{
    margin:0;

    font-size:14px;

    opacity:.55;
}



/* =====================================================
   SAFE SECTION REVEAL
===================================================== */

.bhs-catalog-deck-search-panel,
.bhs-catalog-deck-grid{
    opacity:1;
    transform:translateY(0);
}

.bhs-catalog-deck.bhs-catalog-deck-animate
.bhs-catalog-deck-search-panel,
.bhs-catalog-deck.bhs-catalog-deck-animate
.bhs-catalog-deck-grid{
    opacity:0;
    transform:translateY(22px);
}

.bhs-catalog-deck.bhs-catalog-deck-visible
.bhs-catalog-deck-search-panel{
    animation:
        bhsCatalogDeckReveal
        .7s ease forwards;
}

.bhs-catalog-deck.bhs-catalog-deck-visible
.bhs-catalog-deck-grid{
    animation:
        bhsCatalogDeckReveal
        .8s ease forwards .15s;
}

@keyframes bhsCatalogDeckReveal{

    from{
        opacity:0;
        transform:translateY(22px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}



/* =====================================================
   MEDIUM DESKTOP
===================================================== */

@media(max-width:1200px){

    .bhs-catalog-deck-grid{
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

}



/* =====================================================
   TABLET
===================================================== */

@media(max-width:950px){

    .bhs-catalog-deck-search-panel{
        grid-template-columns:1fr;

        gap:30px;
    }


    .bhs-catalog-deck-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}



/* =====================================================
   MOBILE
===================================================== */

@media(max-width:600px){

    .bhs-catalog-deck{
        padding:
            55px 16px 75px;
    }


    .bhs-catalog-deck-search-panel{
        margin-bottom:24px;

        padding:25px 20px;

        border-radius:
            24px 24px 45px 24px;
    }


    .bhs-catalog-deck-search-copy h2{
        font-size:40px;

        letter-spacing:-2px;
    }


    .bhs-catalog-deck-search-copy p{
        font-size:14px;
    }


    .bhs-catalog-deck-search-meta{
        align-items:flex-start;

        flex-direction:column;

        gap:4px;
    }


    .bhs-catalog-deck-search-box{
        height:65px;
    }


    .bhs-catalog-deck-search-icon{
        flex:0 0 43px;

        width:43px;
        height:43px;

        margin-left:10px;
    }


    .bhs-catalog-deck-search-box input{
        padding:0 10px;

        font-size:14px;
    }


    .bhs-catalog-deck-clear{
        flex:0 0 35px;

        width:35px;
        height:35px;

        margin-right:10px;
    }


    .bhs-catalog-deck-grid{
        grid-template-columns:1fr;
    }


    .bhs-catalog-deck-image{
        height:390px;
    }


    .bhs-catalog-deck-image img{
        padding:5px 7px 0;

        transform:scale(1.06);
    }


    .bhs-catalog-deck-card:hover
    .bhs-catalog-deck-image img{
        transform:
            translateY(-4px)
            scale(1.09);
    }


    .bhs-catalog-deck-content{
        min-height:205px;

        padding:19px;
    }


    .bhs-catalog-deck-content h3{
        font-size:24px;
    }


    .bhs-catalog-deck-quick{
        opacity:1;
        transform:none;
    }

}

/* =====================================================
   PRODUCT DETAIL HERO
===================================================== */

.bhs-product-detail-hero{
    padding:24px 4% 0;
    background:#fff;
    overflow:hidden;
}

.bhs-product-detail-hero-inner{
    max-width:1500px;
    margin:0 auto;
}



/* =====================================================
   TOP NAVIGATION
===================================================== */

.bhs-product-detail-hero-nav{
    padding:0 4px 18px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:25px;
}



/* BREADCRUMB */

.bhs-product-detail-breadcrumb{
    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:9px;
}

.bhs-product-detail-breadcrumb a,
.bhs-product-detail-breadcrumb span{
    color:#000;

    font-size:14px;
    font-weight:500;

    text-decoration:none;

    transition:opacity .3s ease;
}

.bhs-product-detail-breadcrumb a{
    opacity:.48;
}

.bhs-product-detail-breadcrumb a:hover{
    opacity:1;
}

.bhs-product-detail-breadcrumb span{
    opacity:.8;
}

.bhs-product-detail-breadcrumb i{
    font-size:6px;
    opacity:.28;
}



/* BACK BUTTON */

.bhs-product-detail-back{
    display:inline-flex;
    align-items:center;

    gap:9px;

    color:#000;

    text-decoration:none;

    font-size:14px;
    font-weight:600;
}

.bhs-product-detail-back>span{
    width:32px;
    height:32px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#F6F2EF;

    border-radius:50%;

    font-size:14px;

    transition:
        transform .35s ease,
        border-radius .35s ease;
}

.bhs-product-detail-back:hover>span{
    transform:translateX(-4px);

    border-radius:10px;
}



/* =====================================================
   HERO SHELL
===================================================== */

.bhs-product-detail-hero-shell{
    position:relative;

    min-height:670px;

    padding:70px;

    display:grid;
    grid-template-columns:1fr .88fr;
    align-items:center;

    gap:60px;

    background:#F6F2EF;

    border-radius:36px;

    overflow:hidden;
}



/* =====================================================
   LEFT CONTENT
===================================================== */

.bhs-product-detail-hero-copy{
    position:relative;
    z-index:8;

    max-width:720px;
}



/* META */

.bhs-product-detail-hero-meta{
    display:flex;
    align-items:center;

    gap:10px;

    margin-bottom:18px;
}

.bhs-product-detail-hero-meta>span{
    display:inline-flex;
    align-items:center;

    gap:8px;

    padding:8px 12px;

    background:#fff;

    border-radius:30px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-product-detail-hero-meta>span::before{
    content:"";

    width:6px;
    height:6px;

    background:#000;

    border-radius:50%;
}

.bhs-product-detail-hero-meta small{
    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.4;
}



/* TITLE */

.bhs-product-detail-hero-copy h1{
    max-width:800px;

    margin:0;

    font-size:clamp(58px,6vw,92px);
    line-height:.91;
    letter-spacing:-5px;
    font-weight:500;
}

.bhs-product-detail-hero-copy h1 span{
    display:block;
}



/* DESCRIPTION */

.bhs-product-detail-hero-description{
    max-width:610px;

    margin:24px 0 0;

    font-size:14px;
    line-height:1.8;
}



/* SUPPORT POINTS */

.bhs-product-detail-hero-points{
    margin-top:24px;

    display:flex;
    flex-wrap:wrap;

    gap:8px;
}

.bhs-product-detail-hero-points span{
    display:inline-flex;
    align-items:center;

    gap:7px;

    padding:9px 12px;

    background:rgba(255,255,255,.65);

    border:1px solid rgba(255,255,255,.9);

    border-radius:30px;

    font-size:13px;
    font-weight:500;
}

.bhs-product-detail-hero-points i{
    font-size:7px;
}



/* ACTIONS */

.bhs-product-detail-hero-actions{
    margin-top:30px;

    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:10px;
}

.bhs-product-detail-hero-primary,
.bhs-product-detail-hero-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-height:48px;

    padding:0 18px;

    text-decoration:none;

    font-size:14px;
    font-weight:600;

    transition:
        transform .35s ease,
        border-radius .35s ease,
        box-shadow .35s ease;
}

.bhs-product-detail-hero-primary{
    gap:10px;

    background:#000;
    color:#fff;

    border-radius:14px;
}

.bhs-product-detail-hero-primary i{
    font-size:8px;

    transition:transform .3s ease;
}

.bhs-product-detail-hero-primary:hover{
    transform:translateY(-3px);

    border-radius:
        22px 14px 22px 14px;

    box-shadow:
        0 14px 30px rgba(0,0,0,.12);
}

.bhs-product-detail-hero-primary:hover i{
    transform:translateX(4px);
}

.bhs-product-detail-hero-secondary{
    color:#000;

    background:#fff;

    border-radius:14px;
}

.bhs-product-detail-hero-secondary:hover{
    transform:translateY(-3px);

    border-radius:
        22px 14px 22px 14px;
}



/* =====================================================
   VISUAL AREA
===================================================== */

.bhs-product-detail-hero-visual{
    position:relative;

    min-height:520px;

    display:flex;
    align-items:center;
    justify-content:center;

    z-index:5;
}



/* ORBIT */

.bhs-product-detail-hero-orbit{
    position:absolute;

    left:50%;
    top:50%;

    width:460px;
    height:460px;

    transform:
        translate(-50%,-50%);

    border:
        1px solid rgba(255,255,255,.9);

    border-radius:50%;

    animation:
        bhsProductDetailHeroOrbit
        26s linear infinite;
}

.bhs-product-detail-hero-orbit::before{
    content:"";

    position:absolute;
    inset:54px;

    border:
        1px solid rgba(255,255,255,.62);

    border-radius:50%;
}

.bhs-product-detail-hero-orbit span{
    position:absolute;

    left:47px;
    top:56px;

    width:18px;
    height:18px;

    background:#fff;

    border-radius:50%;
}



/* IMAGE FRAME */

.bhs-product-detail-hero-image-frame{
    position:relative;

    z-index:6;

    width:min(100%,540px);
    height:480px;

    background:#E7DFD9;

    border-radius:
        34px 34px 70px 34px;

    overflow:hidden;

    box-shadow:
        0 35px 70px rgba(0,0,0,.08);
}

.bhs-product-detail-hero-image-button{
    width:100%;
    height:100%;

    padding:0;

    display:block;

    border:0;
    outline:0;

    background:transparent;

    cursor:zoom-in;

    overflow:hidden;
}

.bhs-product-detail-hero-image-button img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
    object-position:center;

    transition:
        transform .7s cubic-bezier(.2,.8,.2,1);
}

.bhs-product-detail-hero-image-button:hover img{
    transform:scale(1.045);
}



/* EXPAND LABEL */

.bhs-product-detail-hero-expand{
    position:absolute;

    left:16px;
    bottom:16px;

    z-index:8;

    display:flex;
    align-items:center;

    gap:8px;

    padding:10px 12px;

    background:rgba(255,255,255,.82);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    border-radius:13px;

    pointer-events:none;
}

.bhs-product-detail-hero-expand i{
    font-size:9px;
}

.bhs-product-detail-hero-expand span{
    font-size:13px;
    font-weight:600;
    letter-spacing:.7px;
    text-transform:uppercase;
}



/* FLOATING CATEGORY CARD */

.bhs-product-detail-hero-floating-card{
    position:absolute;

    left:-34px;
    bottom:55px;

    z-index:9;

    width:235px;

    padding:14px;

    display:flex;
    align-items:center;

    gap:12px;

    background:#fff;

    border-radius:18px;

    box-shadow:
        0 20px 45px rgba(0,0,0,.07);

    animation:
        bhsProductDetailHeroFloat
        5s ease-in-out infinite;
}

.bhs-product-detail-hero-floating-card>span{
    flex:0 0 44px;

    width:44px;
    height:44px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#F6F2EF;

    border-radius:14px;

    font-size:13px;
}

.bhs-product-detail-hero-floating-card small{
    display:block;

    margin-bottom:4px;

    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.45;
}

.bhs-product-detail-hero-floating-card strong{
    display:block;

    font-size:14px;
    font-weight:500;
}



/* BACKGROUND WORD */

.bhs-product-detail-hero-word{
    position:absolute;

    right:-10px;
    top:25px;

    z-index:1;

    font-size:clamp(65px,7vw,105px);
    line-height:1;
    letter-spacing:-5px;
    font-weight:600;

    opacity:.045;

    white-space:nowrap;

    pointer-events:none;
}



/* =====================================================
   LIGHTBOX
===================================================== */

.bhs-product-detail-lightbox{
    position:fixed;

    inset:0;

    z-index:99999;

    padding:35px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:rgba(0,0,0,.82);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    opacity:0;
    visibility:hidden;

    pointer-events:none;

    transition:
        opacity .35s ease,
        visibility .35s ease;
}

.bhs-product-detail-lightbox.bhs-product-detail-lightbox-open{
    opacity:1;
    visibility:visible;

    pointer-events:auto;
}



/* LIGHTBOX CONTENT */

.bhs-product-detail-lightbox-content{
    position:relative;

    width:min(100%,1100px);
    height:min(82vh,820px);

    display:flex;
    align-items:center;
    justify-content:center;

    background:#F6F2EF;

    border-radius:24px;

    overflow:hidden;

    transform:scale(.94);

    transition:
        transform .4s cubic-bezier(.2,.8,.2,1);
}

.bhs-product-detail-lightbox.bhs-product-detail-lightbox-open
.bhs-product-detail-lightbox-content{
    transform:scale(1);
}

.bhs-product-detail-lightbox-content img{
    width:100%;
    height:100%;

    object-fit:contain;
    object-position:center;
}



/* CLOSE BUTTON */

.bhs-product-detail-lightbox-close{
    position:absolute;

    right:28px;
    top:28px;

    z-index:5;

    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:0;

    background:#fff;
    color:#000;

    border-radius:50%;

    font-size:14px;

    cursor:pointer;

    transition:
        transform .35s ease,
        border-radius .35s ease;
}

.bhs-product-detail-lightbox-close:hover{
    transform:rotate(90deg);

    border-radius:14px;
}



/* LIGHTBOX LABEL */

.bhs-product-detail-lightbox-label{
    position:absolute;

    left:50%;
    bottom:18px;

    transform:translateX(-50%);

    color:#fff;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;

    white-space:nowrap;
}



/* BODY LOCK */

body.bhs-product-detail-lightbox-lock{
    overflow:hidden;
}



/* =====================================================
   SAFE REVEAL
===================================================== */

.bhs-product-detail-hero-copy,
.bhs-product-detail-hero-visual{
    opacity:1;
    transform:translateY(0);
}

.bhs-product-detail-hero.bhs-product-detail-hero-animate
.bhs-product-detail-hero-copy,
.bhs-product-detail-hero.bhs-product-detail-hero-animate
.bhs-product-detail-hero-visual{
    opacity:0;
    transform:translateY(24px);
}

.bhs-product-detail-hero.bhs-product-detail-hero-visible
.bhs-product-detail-hero-copy{
    animation:
        bhsProductDetailHeroReveal
        .75s ease forwards;
}

.bhs-product-detail-hero.bhs-product-detail-hero-visible
.bhs-product-detail-hero-visual{
    animation:
        bhsProductDetailHeroReveal
        .8s ease forwards .16s;
}



/* =====================================================
   ANIMATIONS
===================================================== */

@keyframes bhsProductDetailHeroReveal{

    from{
        opacity:0;
        transform:translateY(24px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}


@keyframes bhsProductDetailHeroFloat{

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

    50%{
        transform:translateY(-9px);
    }

}


@keyframes bhsProductDetailHeroOrbit{

    from{
        transform:
            translate(-50%,-50%)
            rotate(0deg);
    }

    to{
        transform:
            translate(-50%,-50%)
            rotate(360deg);
    }

}



/* =====================================================
   TABLET
===================================================== */

@media(max-width:1050px){

    .bhs-product-detail-hero-shell{
        grid-template-columns:1fr;
        gap:45px;

        padding:55px 45px 70px;
    }


    .bhs-product-detail-hero-copy{
        max-width:850px;
    }


    .bhs-product-detail-hero-visual{
        min-height:560px;
    }


    .bhs-product-detail-hero-image-frame{
        width:min(100%,620px);
        height:520px;
    }


    .bhs-product-detail-hero-floating-card{
        left:5%;
    }

}



/* =====================================================
   MOBILE
===================================================== */

@media(max-width:650px){

    .bhs-product-detail-hero{
        padding:14px 12px 0;
    }


    .bhs-product-detail-hero-nav{
        padding:0 2px 14px;

        align-items:flex-start;
        flex-direction:column;

        gap:12px;
    }


    .bhs-product-detail-breadcrumb{
        gap:7px;
    }


    .bhs-product-detail-breadcrumb a,
    .bhs-product-detail-breadcrumb span{
        font-size:14px;
    }


    .bhs-product-detail-hero-shell{
        min-height:auto;

        padding:
            45px 20px 55px;

        gap:35px;

        border-radius:25px;
    }


    .bhs-product-detail-hero-meta{
        align-items:flex-start;
        flex-direction:column;

        gap:7px;
    }


    .bhs-product-detail-hero-copy h1{
        font-size:49px;
        line-height:.94;
        letter-spacing:-3px;
    }


    .bhs-product-detail-hero-description{
        font-size:13px;
        line-height:1.75;
    }


    .bhs-product-detail-hero-points{
        gap:6px;
    }


    .bhs-product-detail-hero-points span{
        font-size:13px;
    }


    .bhs-product-detail-hero-actions{
        align-items:stretch;
        flex-direction:column;
    }


    .bhs-product-detail-hero-primary,
    .bhs-product-detail-hero-secondary{
        width:100%;
    }


    .bhs-product-detail-hero-visual{
        min-height:430px;
    }


    .bhs-product-detail-hero-image-frame{
        width:100%;
        height:390px;

        border-radius:
            24px 24px 48px 24px;
    }


    .bhs-product-detail-hero-orbit{
        width:330px;
        height:330px;
    }


    .bhs-product-detail-hero-floating-card{
        left:12px;
        bottom:-18px;

        width:220px;
    }


    .bhs-product-detail-hero-word{
        right:0;
        top:-18px;

        font-size:60px;
        letter-spacing:-3px;
    }


    .bhs-product-detail-lightbox{
        padding:15px;
    }


    .bhs-product-detail-lightbox-content{
        width:100%;
        height:72vh;

        border-radius:18px;
    }


    .bhs-product-detail-lightbox-close{
        right:18px;
        top:18px;

        width:43px;
        height:43px;
    }


    .bhs-product-detail-lightbox-label{
        bottom:10px;

        max-width:80%;

        overflow:hidden;
        text-overflow:ellipsis;
    }

}

/* =====================================================
   PRODUCT STORY SECTION
===================================================== */

.bhs-product-story{
    padding:95px 5%;
    background:#fff;
    overflow:hidden;
}

.bhs-product-story-inner{
    max-width:1440px;
    margin:0 auto;
}



/* =====================================================
   MAIN SCULPTED PANEL
===================================================== */

.bhs-product-story-shell{
    position:relative;

    padding:62px 58px 34px;

    background:#F6F2EF;

    border-radius:
        38px 38px 100px 38px;

    overflow:hidden;
}



/* =====================================================
   BACKGROUND WORD
===================================================== */

.bhs-product-story-word{
    position:absolute;

    left:38px;
    bottom:190px;

    font-size:clamp(80px,11vw,165px);
    line-height:.8;
    letter-spacing:-9px;
    font-weight:600;

    opacity:.025;

    white-space:nowrap;

    pointer-events:none;
}



/* =====================================================
   TOP LAYOUT
===================================================== */

.bhs-product-story-top{
    position:relative;
    z-index:3;

    display:grid;
    grid-template-columns:.9fr 1.1fr;

    gap:95px;

    padding-bottom:58px;
}



/* =====================================================
   LEFT HEADING
===================================================== */

.bhs-product-story-heading{
    position:relative;
}

.bhs-product-story-label{
    display:flex;
    align-items:center;

    gap:10px;

    margin-bottom:20px;
}

.bhs-product-story-label>span{
    width:35px;
    height:35px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;

    border-radius:11px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
}

.bhs-product-story-label small{
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.5;
}

.bhs-product-story-heading h2{
    max-width:640px;

    margin:0;

    font-size:clamp(46px,5vw,72px);
    line-height:.94;
    letter-spacing:-3.5px;
    font-weight:500;
}

.bhs-product-story-heading h2 span{
    display:block;

    margin-left:42px;
}



/* =====================================================
   NARRATIVE
===================================================== */

.bhs-product-story-narrative{
    position:relative;

    max-width:690px;

    padding:
        18px 0 0
        66px;
}

.bhs-product-story-quote-mark{
    position:absolute;

    left:0;
    top:17px;

    width:43px;
    height:43px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;

    border-radius:14px;

    font-size:11px;
}

.bhs-product-story-lead{
    margin:0;

    font-size:clamp(20px,2vw,28px);
    line-height:1.4;
    letter-spacing:-.6px;
}

.bhs-product-story-divider{
    width:100%;
    height:1px;

    margin:24px 0;

    background:
        linear-gradient(
            to right,
            rgba(0,0,0,.14),
            transparent
        );
}

.bhs-product-story-description{
    max-width:640px;

    margin:0;

    font-size:13px;
    line-height:1.9;

    opacity:.68;
}



/* PRODUCT TYPE */

.bhs-product-story-category{
    margin-top:23px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;

    padding:13px 15px;

    background:rgba(255,255,255,.55);

    border-radius:14px;
}

.bhs-product-story-category>span{
    display:flex;
    align-items:center;

    gap:8px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.5;
}

.bhs-product-story-category>span i{
    font-size:4px;
}

.bhs-product-story-category strong{
    font-size:14px;
    font-weight:500;
}



/* =====================================================
   SUPPORT STRIP
===================================================== */

.bhs-product-story-support{
    position:relative;
    z-index:5;

    display:grid;
    grid-template-columns:repeat(3,1fr);

    background:#fff;

    border-radius:
        28px 28px 64px 28px;

    overflow:hidden;
}



/* =====================================================
   SUPPORT ITEM
===================================================== */

.bhs-product-story-support-item{
    position:relative;

    min-height:220px;

    padding:25px;

    transition:
        background .45s ease,
        transform .45s ease;
}

.bhs-product-story-support-item:not(:last-of-type)::after{
    content:"";

    position:absolute;

    right:0;
    top:25px;
    bottom:25px;

    width:1px;

    background:rgba(0,0,0,.07);
}

.bhs-product-story-support-item.bhs-product-story-support-active{
    background:#EEE8E4;
}



/* TOP */

.bhs-product-story-support-top{
    display:flex;
    align-items:center;
    justify-content:space-between;

    margin-bottom:35px;
}

.bhs-product-story-support-number{
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;

    opacity:.4;
}

.bhs-product-story-support-icon{
    width:43px;
    height:43px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#F6F2EF;

    border-radius:14px;

    font-size:12px;

    transition:
        transform .4s ease,
        border-radius .4s ease,
        background .4s ease;
}

.bhs-product-story-support-active
.bhs-product-story-support-icon{
    background:#fff;

    transform:rotate(-6deg);

    border-radius:50%;
}



/* SUPPORT CONTENT */

.bhs-product-story-support-item h3{
    margin:0 0 8px;

    font-size:23px;
    line-height:1.1;
    letter-spacing:-.8px;
    font-weight:500;
}

.bhs-product-story-support-item p{
    max-width:310px;

    margin:0;

    font-size:14px;
    line-height:1.75;

    opacity:.65;
}



/* =====================================================
   ACTIVE PROGRESS
===================================================== */

.bhs-product-story-progress{
    position:absolute;

    left:0;
    right:0;
    bottom:0;

    height:3px;

    background:rgba(0,0,0,.04);
}

.bhs-product-story-progress-fill{
    display:block;

    width:33.333%;
    height:100%;

    background:#000;

    transform:translateX(0);

    transition:
        transform .55s
        cubic-bezier(.2,.8,.2,1);
}



/* =====================================================
   SAFE REVEAL
===================================================== */

.bhs-product-story-heading,
.bhs-product-story-narrative,
.bhs-product-story-support{
    opacity:1;
    transform:translateY(0);
}

.bhs-product-story.bhs-product-story-animate
.bhs-product-story-heading,
.bhs-product-story.bhs-product-story-animate
.bhs-product-story-narrative,
.bhs-product-story.bhs-product-story-animate
.bhs-product-story-support{
    opacity:0;
    transform:translateY(24px);
}

.bhs-product-story.bhs-product-story-visible
.bhs-product-story-heading{
    animation:
        bhsProductStoryReveal
        .7s ease forwards;
}

.bhs-product-story.bhs-product-story-visible
.bhs-product-story-narrative{
    animation:
        bhsProductStoryReveal
        .7s ease forwards .12s;
}

.bhs-product-story.bhs-product-story-visible
.bhs-product-story-support{
    animation:
        bhsProductStoryReveal
        .8s ease forwards .22s;
}



/* =====================================================
   ANIMATIONS
===================================================== */

@keyframes bhsProductStoryReveal{

    from{
        opacity:0;
        transform:translateY(24px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}



/* =====================================================
   TABLET
===================================================== */

@media(max-width:1000px){

    .bhs-product-story-shell{
        padding:
            48px 40px 30px;
    }


    .bhs-product-story-top{
        grid-template-columns:1fr;

        gap:38px;
    }


    .bhs-product-story-narrative{
        max-width:850px;
    }


    .bhs-product-story-heading h2 span{
        margin-left:0;
    }


    .bhs-product-story-support{
        grid-template-columns:1fr;
    }


    .bhs-product-story-support-item{
        min-height:auto;

        padding:23px;

        display:grid;
        grid-template-columns:60px 1fr;

        column-gap:18px;
    }


    .bhs-product-story-support-item:not(:last-of-type)::after{
        left:23px;
        right:23px;

        top:auto;
        bottom:0;

        width:auto;
        height:1px;
    }


    .bhs-product-story-support-top{
        grid-row:1 / span 2;

        margin:0;

        display:block;
    }


    .bhs-product-story-support-number{
        display:block;

        margin-bottom:9px;
    }


    .bhs-product-story-support-item h3{
        align-self:end;
    }


    .bhs-product-story-progress{
        left:0;
        top:0;
        bottom:0;

        width:3px;
        height:auto;

        right:auto;
    }


    .bhs-product-story-progress-fill{
        width:100%;
        height:33.333%;

        transform:translateY(0);
    }

}



/* =====================================================
   MOBILE
===================================================== */

@media(max-width:600px){

    .bhs-product-story{
        padding:70px 16px;
    }


    .bhs-product-story-shell{
        padding:
            34px 20px 20px;

        border-radius:
            25px 25px 58px 25px;
    }


    .bhs-product-story-top{
        padding-bottom:35px;
    }


    .bhs-product-story-heading h2{
        font-size:42px;
        line-height:.97;
        letter-spacing:-2.2px;
    }


    .bhs-product-story-heading h2 span{
        display:inline;
    }


    .bhs-product-story-narrative{
        padding:
            58px 0 0;
    }


    .bhs-product-story-quote-mark{
        left:0;
        top:0;
    }


    .bhs-product-story-lead{
        font-size:22px;
        line-height:1.4;
    }


    .bhs-product-story-description{
        font-size:13px;
        line-height:1.8;
    }


    .bhs-product-story-category{
        align-items:flex-start;
        flex-direction:column;

        gap:6px;
    }


    .bhs-product-story-word{
        left:15px;
        bottom:380px;

        font-size:72px;
        letter-spacing:-4px;
    }


    .bhs-product-story-support{
        border-radius:
            20px 20px 42px 20px;
    }


    .bhs-product-story-support-item{
        grid-template-columns:48px 1fr;

        padding:20px 18px;

        column-gap:14px;
    }


    .bhs-product-story-support-icon{
        width:40px;
        height:40px;

        font-size:10px;
    }


    .bhs-product-story-support-item h3{
        font-size:20px;
    }


    .bhs-product-story-support-item p{
        font-size:14px;
    }

}

/* =====================================================
   KEY FEATURES JOURNEY
===================================================== */

.bhs-product-feature-path{
    padding:100px 5%;
    background:#fff;
    overflow:hidden;
}

.bhs-product-feature-path-inner{
    max-width:1440px;
    margin:0 auto;
}



/* =====================================================
   SECTION HEADER
===================================================== */

.bhs-product-feature-path-head{
    margin-bottom:40px;

    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    gap:50px;
}

.bhs-product-feature-path-kicker{
    display:inline-flex;
    align-items:center;

    gap:8px;

    margin-bottom:14px;
    padding:8px 12px;

    background:#F6F2EF;

    border-radius:30px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-product-feature-path-kicker::before{
    content:"";

    width:6px;
    height:6px;

    background:#000;

    border-radius:50%;
}

.bhs-product-feature-path-head h2{
    max-width:760px;

    margin:0;

    font-size:clamp(42px,4.8vw,68px);
    line-height:.96;

    letter-spacing:-3px;
    font-weight:500;
}

.bhs-product-feature-path-head h2 span{
    display:block;
}

.bhs-product-feature-path-head>p{
    max-width:440px;

    margin:0 0 4px;

    font-size:15px;
    line-height:1.8;

    opacity:.65;
}



/* =====================================================
   MAIN SHELL
===================================================== */

.bhs-product-feature-path-shell{
    display:grid;
    grid-template-columns:.82fr 1.18fr;

    gap:18px;
}



/* =====================================================
   LEFT JOURNEY ROUTE
===================================================== */

.bhs-product-feature-path-route{
    position:relative;

    padding:28px;

    background:#F6F2EF;

    border-radius:
        30px 30px 65px 30px;

    overflow:hidden;
}

.bhs-product-feature-path-line{
    position:absolute;

    left:61px;
    top:67px;
    bottom:67px;

    width:1px;

    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(0,0,0,.14),
            rgba(0,0,0,.14),
            transparent
        );
}



/* =====================================================
   JOURNEY STOP
===================================================== */

.bhs-product-feature-path-stop{
    position:relative;
    z-index:2;

    width:100%;

    min-height:93px;

    padding:15px 16px;

    display:grid;
    grid-template-columns:44px 1fr 35px;
    align-items:center;

    gap:15px;

    border:0;

    background:transparent;

    border-radius:18px;

    color:#000;

    text-align:left;

    cursor:pointer;

    transition:
        background .4s ease,
        transform .4s ease,
        box-shadow .4s ease;
}

.bhs-product-feature-path-stop:hover{
    transform:translateX(5px);
}

.bhs-product-feature-path-stop-active{
    background:#fff;

    transform:translateX(8px);

    box-shadow:
        0 16px 38px rgba(0,0,0,.055);
}



/* NODE */

.bhs-product-feature-path-node{
    width:44px;
    height:44px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;

    border:5px solid #F6F2EF;

    border-radius:15px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;

    transition:
        background .4s ease,
        color .4s ease,
        border-radius .4s ease,
        transform .4s ease;
}

.bhs-product-feature-path-stop-active
.bhs-product-feature-path-node{
    background:#000;
    color:#fff;

    border-radius:50%;

    transform:rotate(-7deg);
}



/* STOP COPY */

.bhs-product-feature-path-stop-copy{
    display:block;
}

.bhs-product-feature-path-stop-copy small{
    display:block;

    margin-bottom:4px;

    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.4;
}

.bhs-product-feature-path-stop-copy strong{
    display:block;

    font-size:17px;
    line-height:1.2;
    font-weight:500;

    letter-spacing:-.4px;
}



/* STOP ARROW */

.bhs-product-feature-path-stop>i{
    width:34px;
    height:34px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;

    border-radius:50%;

    font-size:8px;

    opacity:.35;

    transition:
        opacity .35s ease,
        transform .35s ease,
        border-radius .35s ease;
}

.bhs-product-feature-path-stop-active>i{
    opacity:1;

    transform:translateX(3px);

    border-radius:11px;
}



/* =====================================================
   RIGHT DISPLAY PANEL
===================================================== */

.bhs-product-feature-path-display{
    position:relative;

    min-height:470px;

    padding:48px;

    display:flex;
    flex-direction:column;

    justify-content:flex-end;

    background:#E7DFD9;

    border-radius:
        30px 30px 90px 30px;

    overflow:hidden;
}



/* NUMBER */

.bhs-product-feature-path-display-number{
    position:absolute;

    left:35px;
    top:30px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;

    opacity:.4;
}



/* ICON */

.bhs-product-feature-path-display-icon{
    position:absolute;

    right:38px;
    top:35px;

    width:76px;
    height:76px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;

    border-radius:
        24px 24px 40px 24px;

    font-size:21px;

    z-index:4;

    transition:
        transform .5s ease,
        border-radius .5s ease;
}

.bhs-product-feature-path-display:hover
.bhs-product-feature-path-display-icon{
    transform:
        rotate(-7deg)
        scale(1.05);

    border-radius:50%;
}



/* DISPLAY COPY */

.bhs-product-feature-path-display-copy{
    position:relative;
    z-index:5;

    max-width:680px;
}

.bhs-product-feature-path-display-copy small{
    display:block;

    margin-bottom:10px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.5;
}

.bhs-product-feature-path-display-copy h3{
    max-width:650px;

    margin:0 0 16px;

    font-size:clamp(40px,4.5vw,66px);
    line-height:.94;

    letter-spacing:-3px;
    font-weight:500;
}

.bhs-product-feature-path-display-copy p{
    max-width:620px;

    margin:0;

    font-size:14px;
    line-height:1.85;

    opacity:.7;
}



/* =====================================================
   PROGRESS
===================================================== */

.bhs-product-feature-path-progress{
    position:absolute;

    left:48px;
    right:48px;
    bottom:24px;

    height:3px;

    background:rgba(0,0,0,.08);

    border-radius:10px;

    overflow:hidden;
}

.bhs-product-feature-path-progress span{
    display:block;

    width:25%;
    height:100%;

    background:#000;

    transform:translateX(0);

    transition:
        transform .55s
        cubic-bezier(.2,.8,.2,1);
}



/* =====================================================
   WATERMARK
===================================================== */

.bhs-product-feature-path-watermark{
    position:absolute;

    right:-12px;
    bottom:50px;

    font-size:clamp(70px,9vw,135px);
    line-height:.8;

    letter-spacing:-7px;
    font-weight:600;

    opacity:.035;

    pointer-events:none;

    white-space:nowrap;
}



/* =====================================================
   CONTENT CHANGE EFFECT
===================================================== */

.bhs-product-feature-path-display-copy
.bhs-product-feature-path-content-changing{
    animation:
        bhsProductFeaturePathContent
        .42s ease;
}

@keyframes bhsProductFeaturePathContent{

    0%{
        opacity:0;
        transform:translateY(10px);
    }

    100%{
        opacity:1;
        transform:translateY(0);
    }

}



/* =====================================================
   SAFE REVEAL
===================================================== */

.bhs-product-feature-path-head,
.bhs-product-feature-path-route,
.bhs-product-feature-path-display{
    opacity:1;
    transform:translateY(0);
}

.bhs-product-feature-path.bhs-product-feature-path-animate
.bhs-product-feature-path-head,
.bhs-product-feature-path.bhs-product-feature-path-animate
.bhs-product-feature-path-route,
.bhs-product-feature-path.bhs-product-feature-path-animate
.bhs-product-feature-path-display{
    opacity:0;
    transform:translateY(22px);
}

.bhs-product-feature-path.bhs-product-feature-path-visible
.bhs-product-feature-path-head{
    animation:
        bhsProductFeaturePathReveal
        .7s ease forwards;
}

.bhs-product-feature-path.bhs-product-feature-path-visible
.bhs-product-feature-path-route{
    animation:
        bhsProductFeaturePathReveal
        .7s ease forwards .12s;
}

.bhs-product-feature-path.bhs-product-feature-path-visible
.bhs-product-feature-path-display{
    animation:
        bhsProductFeaturePathReveal
        .8s ease forwards .22s;
}

@keyframes bhsProductFeaturePathReveal{

    from{
        opacity:0;
        transform:translateY(22px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}



/* =====================================================
   TABLET
===================================================== */

@media(max-width:1000px){

    .bhs-product-feature-path-head{
        align-items:flex-start;
        flex-direction:column;

        gap:20px;
    }


    .bhs-product-feature-path-shell{
        grid-template-columns:1fr;
    }


    .bhs-product-feature-path-route{
        display:grid;
        grid-template-columns:repeat(2,1fr);

        gap:8px;
    }


    .bhs-product-feature-path-line{
        display:none;
    }


    .bhs-product-feature-path-stop{
        min-height:88px;
    }


    .bhs-product-feature-path-display{
        min-height:430px;
    }

}



/* =====================================================
   MOBILE
===================================================== */

@media(max-width:600px){

    .bhs-product-feature-path{
        padding:
            75px 16px;
    }


    .bhs-product-feature-path-head h2{
        font-size:42px;
        line-height:.98;

        letter-spacing:-2px;
    }


    .bhs-product-feature-path-head>p{
        font-size:15px;
    }


    .bhs-product-feature-path-route{
        grid-template-columns:1fr;

        padding:16px;

        border-radius:
            22px 22px 42px 22px;
    }


    .bhs-product-feature-path-stop{
        min-height:76px;

        grid-template-columns:40px 1fr 30px;

        padding:11px 12px;

        gap:12px;
    }


    .bhs-product-feature-path-node{
        width:40px;
        height:40px;
    }


    .bhs-product-feature-path-stop-copy strong{
        font-size:15px;
    }


    .bhs-product-feature-path-stop-active{
        transform:none;
    }


    .bhs-product-feature-path-display{
        min-height:450px;

        padding:
            120px 25px 55px;

        border-radius:
            24px 24px 55px 24px;
    }


    .bhs-product-feature-path-display-number{
        left:25px;
        top:24px;
    }


    .bhs-product-feature-path-display-icon{
        right:24px;
        top:22px;

        width:62px;
        height:62px;

        border-radius:
            19px 19px 32px 19px;

        font-size:17px;
    }


    .bhs-product-feature-path-display-copy h3{
        font-size:43px;
        line-height:.96;

        letter-spacing:-2.2px;
    }


    .bhs-product-feature-path-display-copy p{
        font-size:14px;
        line-height:1.8;
    }


    .bhs-product-feature-path-progress{
        left:25px;
        right:25px;
        bottom:20px;
    }


    .bhs-product-feature-path-watermark{
        right:-5px;
        bottom:90px;

        font-size:72px;
        letter-spacing:-4px;
    }

}

/* =====================================================
   PRODUCT INFORMATION PANEL
===================================================== */

.bhs-product-info-panel{
    padding:100px 5%;
    background:#fff;
    overflow:hidden;
}

.bhs-product-info-panel-inner{
    max-width:1440px;
    margin:0 auto;
}



/* =====================================================
   SECTION HEADER
===================================================== */

.bhs-product-info-panel-head{
    margin-bottom:40px;

    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    gap:50px;
}

.bhs-product-info-panel-kicker{
    display:inline-flex;
    align-items:center;

    gap:8px;

    margin-bottom:14px;
    padding:8px 12px;

    background:#F6F2EF;

    border-radius:30px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-product-info-panel-kicker::before{
    content:"";

    width:6px;
    height:6px;

    background:#000;

    border-radius:50%;
}

.bhs-product-info-panel-head h2{
    max-width:760px;

    margin:0;

    font-size:clamp(42px,4.8vw,68px);
    line-height:.96;

    letter-spacing:-3px;
    font-weight:500;
}

.bhs-product-info-panel-head h2 span{
    display:block;
}

.bhs-product-info-panel-head>p{
    max-width:440px;

    margin:0 0 4px;

    font-size:15px;
    line-height:1.8;

    opacity:.65;
}



/* =====================================================
   MAIN SHELL
===================================================== */

.bhs-product-info-panel-shell{
    display:grid;

    grid-template-columns:1.35fr .65fr;

    gap:18px;
}



/* =====================================================
   LEFT LIST
===================================================== */

.bhs-product-info-panel-list{
    position:relative;

    padding:28px;

    background:#F6F2EF;

    border-radius:
        30px 30px 75px 30px;

    overflow:hidden;
}



/* LIST HEADER */

.bhs-product-info-panel-list-head{
    margin-bottom:18px;
    padding:0 5px 16px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;

    border-bottom:
        1px solid rgba(0,0,0,.07);
}

.bhs-product-info-panel-list-head>span{
    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-product-info-panel-list-head small{
    font-size:13px;
    opacity:.45;
}



/* =====================================================
   INFO ROW
===================================================== */

.bhs-product-info-panel-row{
    position:relative;

    min-height:90px;

    padding:14px 17px;

    display:grid;

    grid-template-columns:
        45px minmax(160px,.8fr) 1.2fr 12px;

    align-items:center;

    gap:18px;

    border-radius:17px;

    transition:
        background .4s ease,
        transform .4s ease,
        box-shadow .4s ease;
}

.bhs-product-info-panel-row:not(:last-of-type){
    margin-bottom:5px;
}

.bhs-product-info-panel-row:hover{
    transform:translateX(5px);
}

.bhs-product-info-panel-row-active{
    background:#fff;

    transform:translateX(7px);

    box-shadow:
        0 14px 34px rgba(0,0,0,.045);
}



/* ROW NUMBER */

.bhs-product-info-panel-row-number{
    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;

    border-radius:13px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;

    transition:
        background .4s ease,
        color .4s ease,
        border-radius .4s ease,
        transform .4s ease;
}

.bhs-product-info-panel-row-active
.bhs-product-info-panel-row-number{
    background:#000;
    color:#fff;

    border-radius:50%;

    transform:rotate(-7deg);
}



/* ROW LABEL */

.bhs-product-info-panel-row-label{
    min-width:0;
}

.bhs-product-info-panel-row-label small{
    display:block;

    margin-bottom:4px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.45;
}

.bhs-product-info-panel-row-label span{
    display:block;

    font-size:13px;

    opacity:.62;
}



/* ROW VALUE */

.bhs-product-info-panel-row>strong{
    min-width:0;

    font-size:16px;
    line-height:1.3;
    font-weight:500;

    letter-spacing:-.3px;
}



/* ROW DOT */

.bhs-product-info-panel-row-dot{
    width:8px;
    height:8px;

    background:rgba(0,0,0,.12);

    border-radius:50%;

    transition:
        transform .4s ease,
        background .4s ease;
}

.bhs-product-info-panel-row-active
.bhs-product-info-panel-row-dot{
    background:#000;

    transform:scale(1.25);
}



/* =====================================================
   PROGRESS
===================================================== */

.bhs-product-info-panel-progress{
    position:absolute;

    left:28px;
    right:28px;
    bottom:14px;

    height:3px;

    background:rgba(0,0,0,.05);

    border-radius:10px;

    overflow:hidden;
}

.bhs-product-info-panel-progress span{
    display:block;

    width:20%;
    height:100%;

    background:#000;

    transform:translateX(0);

    transition:
        transform .55s
        cubic-bezier(.2,.8,.2,1);
}



/* =====================================================
   RIGHT HELP PANEL
===================================================== */

.bhs-product-info-panel-help{
    position:relative;

    min-height:580px;

    padding:34px;

    display:flex;
    flex-direction:column;

    justify-content:flex-end;

    background:#E7DFD9;

    border-radius:
        30px 30px 80px 30px;

    overflow:hidden;
}



/* HELP WORD */

.bhs-product-info-panel-help-word{
    position:absolute;

    right:-5px;
    top:38px;

    font-size:clamp(75px,7vw,110px);
    line-height:.8;

    letter-spacing:-6px;
    font-weight:600;

    opacity:.04;

    pointer-events:none;
}



/* ICON */

.bhs-product-info-panel-help-icon{
    position:absolute;

    left:34px;
    top:34px;

    width:70px;
    height:70px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;

    border-radius:
        22px 22px 36px 22px;

    font-size:20px;

    transition:
        transform .5s ease,
        border-radius .5s ease;
}

.bhs-product-info-panel-help:hover
.bhs-product-info-panel-help-icon{
    transform:
        rotate(-7deg)
        scale(1.05);

    border-radius:50%;
}



/* HELP LABEL */

.bhs-product-info-panel-help-label{
    margin-bottom:10px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.5;
}



/* HELP TITLE */

.bhs-product-info-panel-help h3{
    max-width:420px;

    margin:0 0 15px;

    font-size:clamp(38px,3.6vw,54px);
    line-height:.95;

    letter-spacing:-2.5px;
    font-weight:500;
}



/* HELP TEXT */

.bhs-product-info-panel-help>p{
    max-width:420px;

    margin:0;

    font-size:14px;
    line-height:1.8;

    opacity:.7;
}



/* HELP ACTIONS */

.bhs-product-info-panel-help-actions{
    margin-top:25px;

    display:flex;
    flex-direction:column;

    gap:9px;
}

.bhs-product-info-panel-help-primary,
.bhs-product-info-panel-help-secondary{
    min-height:48px;

    padding:0 16px;

    display:flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;

    font-size:14px;
    font-weight:600;

    transition:
        transform .35s ease,
        border-radius .35s ease;
}

.bhs-product-info-panel-help-primary{
    justify-content:space-between;

    background:#000;
    color:#fff;

    border-radius:14px;
}

.bhs-product-info-panel-help-primary i{
    font-size:8px;

    transition:transform .3s ease;
}

.bhs-product-info-panel-help-primary:hover{
    transform:translateY(-3px);

    border-radius:
        22px 14px 22px 14px;
}

.bhs-product-info-panel-help-primary:hover i{
    transform:translateX(4px);
}

.bhs-product-info-panel-help-secondary{
    background:rgba(255,255,255,.65);
    color:#000;

    border-radius:14px;
}

.bhs-product-info-panel-help-secondary:hover{
    transform:translateY(-3px);

    background:#fff;

    border-radius:
        22px 14px 22px 14px;
}



/* HELP BOTTOM */

.bhs-product-info-panel-help-bottom{
    margin-top:24px;
    padding-top:18px;

    display:flex;
    align-items:center;

    gap:12px;

    border-top:
        1px solid rgba(0,0,0,.08);
}

.bhs-product-info-panel-help-bottom>span{
    flex:0 0 40px;

    width:40px;
    height:40px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:rgba(255,255,255,.65);

    border-radius:13px;

    font-size:13px;
}

.bhs-product-info-panel-help-bottom small{
    display:block;

    margin-bottom:4px;

    font-size:13px;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.45;
}

.bhs-product-info-panel-help-bottom strong{
    display:block;

    font-size:14px;
    font-weight:500;
}



/* =====================================================
   SAFE REVEAL
===================================================== */

.bhs-product-info-panel-head,
.bhs-product-info-panel-list,
.bhs-product-info-panel-help{
    opacity:1;
    transform:translateY(0);
}

.bhs-product-info-panel.bhs-product-info-panel-animate
.bhs-product-info-panel-head,
.bhs-product-info-panel.bhs-product-info-panel-animate
.bhs-product-info-panel-list,
.bhs-product-info-panel.bhs-product-info-panel-animate
.bhs-product-info-panel-help{
    opacity:0;
    transform:translateY(22px);
}

.bhs-product-info-panel.bhs-product-info-panel-visible
.bhs-product-info-panel-head{
    animation:
        bhsProductInfoPanelReveal
        .7s ease forwards;
}

.bhs-product-info-panel.bhs-product-info-panel-visible
.bhs-product-info-panel-list{
    animation:
        bhsProductInfoPanelReveal
        .7s ease forwards .12s;
}

.bhs-product-info-panel.bhs-product-info-panel-visible
.bhs-product-info-panel-help{
    animation:
        bhsProductInfoPanelReveal
        .8s ease forwards .22s;
}

@keyframes bhsProductInfoPanelReveal{

    from{
        opacity:0;
        transform:translateY(22px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}



/* =====================================================
   TABLET
===================================================== */

@media(max-width:1000px){

    .bhs-product-info-panel-head{
        align-items:flex-start;
        flex-direction:column;

        gap:20px;
    }


    .bhs-product-info-panel-shell{
        grid-template-columns:1fr;
    }


    .bhs-product-info-panel-help{
        min-height:500px;
    }

}



/* =====================================================
   SMALL TABLET
===================================================== */

@media(max-width:760px){

    .bhs-product-info-panel-row{
        grid-template-columns:
            42px 1fr 10px;

        gap:14px;
    }


    .bhs-product-info-panel-row>strong{
        grid-column:2 / 3;

        margin-top:-5px;

        font-size:15px;
    }


    .bhs-product-info-panel-row-dot{
        grid-column:3;
        grid-row:1 / span 2;
    }

}



/* =====================================================
   MOBILE
===================================================== */

@media(max-width:600px){

    .bhs-product-info-panel{
        padding:
            75px 16px;
    }


    .bhs-product-info-panel-head h2{
        font-size:42px;
        line-height:.98;

        letter-spacing:-2px;
    }


    .bhs-product-info-panel-head>p{
        font-size:15px;
    }


    .bhs-product-info-panel-list{
        padding:
            20px 16px 28px;

        border-radius:
            23px 23px 48px 23px;
    }


    .bhs-product-info-panel-list-head{
        align-items:flex-start;
        flex-direction:column;

        gap:5px;
    }


    .bhs-product-info-panel-row{
        min-height:105px;

        padding:13px 11px;

        border-radius:15px;
    }


    .bhs-product-info-panel-row-active{
        transform:none;
    }


    .bhs-product-info-panel-row:hover{
        transform:none;
    }


    .bhs-product-info-panel-row-label span{
        font-size:13px;
    }


    .bhs-product-info-panel-row>strong{
        font-size:14px;
    }


    .bhs-product-info-panel-progress{
        left:16px;
        right:16px;
        bottom:12px;
    }


    .bhs-product-info-panel-help{
        min-height:520px;

        padding:26px;

        border-radius:
            24px 24px 55px 24px;
    }


    .bhs-product-info-panel-help-icon{
        left:26px;
        top:26px;

        width:60px;
        height:60px;

        font-size:17px;
    }


    .bhs-product-info-panel-help h3{
        font-size:42px;

        letter-spacing:-2px;
    }


    .bhs-product-info-panel-help>p{
        font-size:14px;
    }


    .bhs-product-info-panel-help-word{
        font-size:70px;
        letter-spacing:-4px;
    }

}

@media(max-width:650px){

    .bhs-product-detail-hero-shell{
        display:flex;
        flex-direction:column;
        gap:38px;
    }


    /* IMAGE FIRST */

    .bhs-product-detail-hero-visual{
        order:1;

        width:100%;
        min-height:auto;
    }


    /* CONTENT AFTER IMAGE */

    .bhs-product-detail-hero-copy{
        order:2;

        width:100%;
    }


    /* IMAGE SIZE */

    .bhs-product-detail-hero-image-frame{
        width:100%;
        height:390px;

        border-radius:
            24px 24px 48px 24px;
    }


    .bhs-product-detail-hero-image-button{
        width:100%;
        height:100%;
    }


    .bhs-product-detail-hero-image-button img{
        width:100%;
        height:100%;

        object-fit:cover;
        object-position:center;
    }


    /* FLOATING CATEGORY CARD */

    .bhs-product-detail-hero-floating-card{
        left:12px;
        bottom:-18px;

        width:220px;
    }


    /* BACKGROUND WORD */

    .bhs-product-detail-hero-word{
        right:0;
        top:-16px;

        font-size:58px;
        letter-spacing:-3px;
    }


    /* CONTENT SPACING */

    .bhs-product-detail-hero-copy{
        padding-top:14px;
    }


    .bhs-product-detail-hero-copy h1{
        font-size:49px;
        line-height:.94;
        letter-spacing:-3px;
    }


    .bhs-product-detail-hero-description{
        font-size:13px;
        line-height:1.75;
    }


    .bhs-product-detail-hero-actions{
        flex-direction:column;
        align-items:stretch;
    }


    .bhs-product-detail-hero-primary,
    .bhs-product-detail-hero-secondary{
        width:100%;
    }

}

/* =====================================================
   BAVARRO PRIVACY PAGE
===================================================== */

.bhs-privacy-page{
    padding:60px 5% 110px;
    background:#fff;
    overflow:hidden;
}

.bhs-privacy-page-inner{
    max-width:1440px;
    margin:0 auto;
}



/* =====================================================
   PRIVACY HERO
===================================================== */

.bhs-privacy-hero{
    position:relative;

    min-height:450px;

    padding:65px 60px;

    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    gap:60px;

    background:#F6F2EF;

    border-radius:
        38px 38px 105px 38px;

    overflow:hidden;
}



/* HERO COPY */

.bhs-privacy-hero-copy{
    position:relative;
    z-index:3;

    max-width:790px;
}

.bhs-privacy-hero-kicker{
    display:inline-flex;
    align-items:center;

    gap:8px;

    margin-bottom:18px;
    padding:8px 12px;

    background:#fff;

    border-radius:30px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
}

.bhs-privacy-hero-kicker::before{
    content:"";

    width:6px;
    height:6px;

    background:#000;

    border-radius:50%;
}

.bhs-privacy-hero-copy h1{
    margin:0;

    font-size:clamp(65px,8vw,118px);
    line-height:.84;

    letter-spacing:-7px;
    font-weight:500;
}

.bhs-privacy-hero-copy h1 span{
    display:block;
}

.bhs-privacy-hero-copy p{
    max-width:670px;

    margin:28px 0 0;

    font-size:15px;
    line-height:1.85;

    opacity:.68;
}



/* HERO MARK */

.bhs-privacy-hero-mark{
    position:relative;
    z-index:3;

    flex:0 0 240px;

    padding:25px;

    background:#fff;

    border-radius:
        24px 24px 48px 24px;

    box-shadow:
        0 20px 50px rgba(0,0,0,.05);
}

.bhs-privacy-hero-mark>span{
    width:58px;
    height:58px;

    margin-bottom:25px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#F6F2EF;

    border-radius:
        18px 18px 30px 18px;

    font-size:17px;
}

.bhs-privacy-hero-mark small{
    display:block;

    margin-bottom:5px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.4;
}

.bhs-privacy-hero-mark strong{
    display:block;

    font-size:17px;
    line-height:1.2;
    font-weight:500;

    letter-spacing:-.4px;
}



/* BACKGROUND WORD */

.bhs-privacy-hero-word{
    position:absolute;

    right:-20px;
    top:50px;

    font-size:clamp(90px,13vw,190px);
    line-height:.8;

    font-weight:600;
    letter-spacing:-10px;

    opacity:.025;

    white-space:nowrap;
    pointer-events:none;
}



/* =====================================================
   MAIN LAYOUT
===================================================== */

.bhs-privacy-layout{
    margin-top:22px;

    display:grid;
    grid-template-columns:320px 1fr;

    gap:22px;

    align-items:start;
}



/* =====================================================
   LEFT NAVIGATION
===================================================== */

.bhs-privacy-nav{
    position:relative;
}

.bhs-privacy-nav-box{
    position:sticky;
    top:105px;

    padding:25px;

    background:#F6F2EF;

    border-radius:
        25px 25px 55px 25px;
}

.bhs-privacy-nav-label{
    display:block;

    margin-bottom:15px;
    padding-bottom:14px;

    border-bottom:
        1px solid rgba(0,0,0,.08);

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.5;
}

.bhs-privacy-nav nav{
    display:flex;
    flex-direction:column;
}

.bhs-privacy-nav nav a{
    min-height:43px;

    display:flex;
    align-items:center;

    gap:11px;

    color:#000;
    text-decoration:none;

    border-bottom:
        1px solid rgba(0,0,0,.05);

    font-size:14px;

    transition:
        transform .3s ease,
        opacity .3s ease;
}

.bhs-privacy-nav nav a:last-child{
    border-bottom:0;
}

.bhs-privacy-nav nav a:hover{
    transform:translateX(5px);
}

.bhs-privacy-nav nav a span{
    flex:0 0 26px;

    font-size:14px;
    font-weight:600;
    letter-spacing:.7px;

    opacity:.35;
}



/* =====================================================
   CONTENT
===================================================== */

.bhs-privacy-content{
    min-width:0;
}



/* =====================================================
   INTRODUCTION
===================================================== */

.bhs-privacy-introduction{
    padding:38px 40px;

    background:#E7DFD9;

    border-radius:
        26px 26px 60px 26px;
}

.bhs-privacy-introduction>span{
    display:block;

    margin-bottom:13px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.45;
}

.bhs-privacy-introduction p{
    margin:0;

    font-size:18px;
    line-height:1.75;

    letter-spacing:-.25px;

    opacity:.82;
}



/* =====================================================
   POLICY BLOCK
===================================================== */

.bhs-privacy-policy-block{
    scroll-margin-top:120px;

    margin-top:16px;

    padding:34px 36px;

    display:grid;
    grid-template-columns:60px 1fr;

    gap:25px;

    background:#F6F2EF;

    border-radius:
        24px 24px 55px 24px;

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.bhs-privacy-policy-block:hover{
    transform:translateY(-3px);

    box-shadow:
        0 18px 45px rgba(0,0,0,.045);
}



/* NUMBER */

.bhs-privacy-policy-number{
    width:52px;
    height:52px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;

    border-radius:
        16px 16px 27px 16px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
}



/* POLICY BODY */

.bhs-privacy-policy-body h2{
    margin:4px 0 14px;

    font-size:30px;
    line-height:1.05;

    letter-spacing:-1.4px;
    font-weight:500;
}

.bhs-privacy-policy-body p{
    margin:0;

    font-size:14px;
    line-height:1.9;

    opacity:.7;
}



/* POLICY LIST */

.bhs-privacy-policy-body ul{
    margin:18px 0 0;
    padding:0;

    list-style:none;

    display:grid;
    grid-template-columns:repeat(2,1fr);

    gap:9px;
}

.bhs-privacy-policy-body li{
    min-height:60px;

    padding:13px 14px;

    display:flex;
    align-items:flex-start;

    gap:10px;

    background:#fff;

    border-radius:13px;
}

.bhs-privacy-policy-body li i{
    flex:0 0 24px;

    width:24px;
    height:24px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#F6F2EF;

    border-radius:8px;

    font-size:7px;
}

.bhs-privacy-policy-body li span{
    font-size:13px;
    line-height:1.65;

    opacity:.7;
}



/* =====================================================
   CONTACT SECTION
===================================================== */

.bhs-privacy-contact{
    scroll-margin-top:120px;

    position:relative;

    margin-top:16px;
    padding:42px;

    background:#E7DFD9;

    border-radius:
        30px 30px 75px 30px;

    overflow:hidden;
}



/* CONTACT HEADER */

.bhs-privacy-contact-head{
    display:flex;
    align-items:flex-start;

    gap:18px;
}

.bhs-privacy-contact-number{
    flex:0 0 52px;

    width:52px;
    height:52px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;

    border-radius:
        16px 16px 28px 16px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
}

.bhs-privacy-contact-head small{
    display:block;

    margin-bottom:7px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.45;
}

.bhs-privacy-contact-head h2{
    margin:0;

    font-size:clamp(38px,4vw,58px);
    line-height:.95;

    letter-spacing:-2.7px;
    font-weight:500;
}

.bhs-privacy-contact-head h2 span{
    display:block;
}



/* CONTACT INTRO */

.bhs-privacy-contact-intro{
    max-width:700px;

    margin:22px 0 30px 70px;

    font-size:13px;
    line-height:1.85;

    opacity:.68;
}



/* CONTACT GRID */

.bhs-privacy-contact-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);

    gap:10px;
}

.bhs-privacy-contact-grid>a{
    position:relative;

    min-height:88px;

    padding:15px;

    display:grid;
    grid-template-columns:48px 1fr 24px;

    align-items:center;

    gap:13px;

    background:#fff;

    color:#000;
    text-decoration:none;

    border-radius:16px;

    transition:
        transform .35s ease,
        border-radius .35s ease;
}

.bhs-privacy-contact-grid>a:hover{
    transform:translateY(-4px);

    border-radius:
        24px 16px 28px 16px;
}

.bhs-privacy-contact-location{
    grid-column:1 / -1;
}



/* CONTACT ICON */

.bhs-privacy-contact-icon{
    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#F6F2EF;

    border-radius:
        15px 15px 25px 15px;

    font-size:13px;
}

.bhs-privacy-contact-grid a small{
    display:block;

    margin-bottom:5px;

    font-size:13px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;

    opacity:.4;
}

.bhs-privacy-contact-grid a strong{
    display:block;

    font-size:14px;
    line-height:1.45;
    font-weight:500;

    overflow-wrap:anywhere;
}

.bhs-privacy-contact-grid>a>i{
    font-size:8px;

    opacity:.35;

    transition:
        transform .3s ease,
        opacity .3s ease;
}

.bhs-privacy-contact-grid>a:hover>i{
    opacity:1;

    transform:
        translate(2px,-2px);
}



/* =====================================================
   TABLET
===================================================== */

@media(max-width:1050px){

    .bhs-privacy-hero{
        align-items:flex-start;
        flex-direction:column;

        min-height:auto;
    }


    .bhs-privacy-hero-mark{
        width:100%;
        max-width:360px;
    }


    .bhs-privacy-layout{
        grid-template-columns:1fr;
    }


    .bhs-privacy-nav-box{
        position:relative;
        top:auto;
    }


    .bhs-privacy-nav nav{
        display:grid;
        grid-template-columns:repeat(3,1fr);

        gap:5px;
    }


    .bhs-privacy-nav nav a{
        padding:10px;

        background:#fff;

        border:0;

        border-radius:10px;
    }

}



/* =====================================================
   SMALL TABLET
===================================================== */

@media(max-width:760px){

    .bhs-privacy-policy-body ul{
        grid-template-columns:1fr;
    }


    .bhs-privacy-contact-grid{
        grid-template-columns:1fr;
    }


    .bhs-privacy-contact-location{
        grid-column:auto;
    }


    .bhs-privacy-nav nav{
        grid-template-columns:repeat(2,1fr);
    }

}



/* =====================================================
   MOBILE
===================================================== */

@media(max-width:600px){

    .bhs-privacy-page{
        padding:
            30px 16px 75px;
    }


    /* HERO */

    .bhs-privacy-hero{
        padding:
            40px 22px 25px;

        gap:35px;

        border-radius:
            24px 24px 58px 24px;
    }


    .bhs-privacy-hero-copy h1{
        font-size:62px;
        line-height:.88;

        letter-spacing:-4px;
    }


    .bhs-privacy-hero-copy p{
        font-size:15px;
        line-height:1.8;
    }


    .bhs-privacy-hero-mark{
        flex-basis:auto;

        max-width:none;

        padding:20px;
    }


    .bhs-privacy-hero-word{
        top:30px;

        font-size:78px;
        letter-spacing:-5px;
    }


    /* NAV */

    .bhs-privacy-nav-box{
        padding:18px;

        border-radius:
            20px 20px 40px 20px;
    }


    .bhs-privacy-nav nav{
        grid-template-columns:1fr;
    }


    /* INTRO */

    .bhs-privacy-introduction{
        padding:25px 22px;

        border-radius:
            20px 20px 42px 20px;
    }


    .bhs-privacy-introduction p{
        font-size:15px;
        line-height:1.7;
    }


    /* POLICY BLOCK */

    .bhs-privacy-policy-block{
        padding:22px 18px;

        grid-template-columns:1fr;

        gap:16px;

        border-radius:
            20px 20px 42px 20px;
    }


    .bhs-privacy-policy-number{
        width:44px;
        height:44px;
    }


    .bhs-privacy-policy-body h2{
        font-size:27px;
        letter-spacing:-1px;
    }


    .bhs-privacy-policy-body p{
        font-size:14px;
        line-height:1.8;
    }


    .bhs-privacy-policy-body li{
        min-height:auto;
    }


    /* CONTACT */

    .bhs-privacy-contact{
        padding:27px 20px;

        border-radius:
            22px 22px 50px 22px;
    }


    .bhs-privacy-contact-head{
        flex-direction:column;
    }


    .bhs-privacy-contact-head h2{
        font-size:40px;
        letter-spacing:-2px;
    }


    .bhs-privacy-contact-intro{
        margin:
            20px 0 25px;

        font-size:13px;
    }


    .bhs-privacy-contact-grid>a{
        min-height:80px;

        grid-template-columns:44px 1fr 18px;

        gap:10px;
    }


    .bhs-privacy-contact-icon{
        width:44px;
        height:44px;
    }


    .bhs-privacy-contact-grid a strong{
        font-size:14px;
    }

}

/* =====================================================
   PRIVACY PAGE FONT SIZE IMPROVEMENTS
===================================================== */


/* HERO SMALL LABEL */

.bhs-privacy-hero-kicker{
    font-size:14px;
}



/* HERO DESCRIPTION */

.bhs-privacy-hero-copy p{
    font-size:16px;
}



/* HERO INFO CARD */

.bhs-privacy-hero-mark small{
    font-size:14px;
}

.bhs-privacy-hero-mark strong{
    font-size:18px;
}



/* SIDEBAR LABEL */

.bhs-privacy-nav-label{
    font-size:14px;
}



/* SIDEBAR LINKS */

.bhs-privacy-nav nav a{
    font-size:14px;
}

.bhs-privacy-nav nav a span{
    font-size:14px;
}



/* INTRO LABEL */

.bhs-privacy-introduction>span{
    font-size:14px;
}



/* POLICY NUMBER */

.bhs-privacy-policy-number{
    font-size:14px;
}



/* POLICY PARAGRAPHS */

.bhs-privacy-policy-body p{
    font-size:15px;
}



/* POLICY LIST TEXT */

.bhs-privacy-policy-body li span{
    font-size:14px;
}



/* CONTACT SMALL LABEL */

.bhs-privacy-contact-head small{
    font-size:14px;
}



/* CONTACT INTRO TEXT */

.bhs-privacy-contact-intro{
    font-size:15px;
}



/* CONTACT CARD LABEL */

.bhs-privacy-contact-grid a small{
    font-size:14px;
}



/* CONTACT CARD VALUE */

.bhs-privacy-contact-grid a strong{
    font-size:14px;
}



/* CONTACT CARD ARROW */

.bhs-privacy-contact-grid>a>i{
    font-size:14px;
}



/* =====================================================
   MOBILE FONT IMPROVEMENTS
===================================================== */

@media(max-width:600px){

    .bhs-privacy-hero-kicker{
        font-size:13px;
    }


    .bhs-privacy-hero-copy p{
        font-size:15px;
    }


    .bhs-privacy-nav-label{
        font-size:13px;
    }


    .bhs-privacy-nav nav a{
        font-size:14px;
    }


    .bhs-privacy-nav nav a span{
        font-size:14px;
    }


    .bhs-privacy-introduction>span{
        font-size:13px;
    }


    .bhs-privacy-introduction p{
        font-size:15px;
    }


    .bhs-privacy-policy-number{
        font-size:13px;
    }


    .bhs-privacy-policy-body p{
        font-size:14px;
    }


    .bhs-privacy-policy-body li span{
        font-size:14px;
    }


    .bhs-privacy-contact-head small{
        font-size:13px;
    }


    .bhs-privacy-contact-intro{
        font-size:14px;
    }


    .bhs-privacy-contact-grid a small{
        font-size:13px;
    }


    .bhs-privacy-contact-grid a strong{
        font-size:14px;
    }

}

/* =====================================================
   BAVARRO TERMS PAGE
===================================================== */

.bhs-terms-page{
    padding:60px 5% 110px;
    background:#fff;
    overflow:hidden;
}

.bhs-terms-page-inner{
    max-width:1440px;
    margin:0 auto;
}



/* =====================================================
   TERMS HERO
===================================================== */

.bhs-terms-hero{
    position:relative;

    min-height:450px;

    padding:65px 60px;

    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    gap:60px;

    background:#F6F2EF;

    border-radius:
        38px 38px 105px 38px;

    overflow:hidden;
}



/* HERO COPY */

.bhs-terms-hero-copy{
    position:relative;
    z-index:3;

    max-width:850px;
}

.bhs-terms-hero-kicker{
    display:inline-flex;
    align-items:center;

    gap:8px;

    margin-bottom:18px;
    padding:8px 12px;

    background:#fff;

    border-radius:30px;

    font-size:14px;
    font-weight:600;
    letter-spacing:.7px;
    text-transform:uppercase;
}

.bhs-terms-hero-kicker::before{
    content:"";

    width:7px;
    height:7px;

    background:#000;

    border-radius:50%;
}

.bhs-terms-hero-copy h1{
    margin:0;

    font-size:clamp(62px,7.5vw,110px);
    line-height:.86;

    letter-spacing:-6px;
    font-weight:500;
}

.bhs-terms-hero-copy h1 span{
    display:block;
}

.bhs-terms-hero-copy p{
    max-width:690px;

    margin:28px 0 0;

    font-size:16px;
    line-height:1.8;

    opacity:.7;
}



/* HERO MARK */

.bhs-terms-hero-mark{
    position:relative;
    z-index:3;

    flex:0 0 240px;

    padding:25px;

    background:#fff;

    border-radius:
        24px 24px 48px 24px;

    box-shadow:
        0 20px 50px rgba(0,0,0,.05);
}

.bhs-terms-hero-mark>span{
    width:58px;
    height:58px;

    margin-bottom:25px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#F6F2EF;

    border-radius:
        18px 18px 30px 18px;

    font-size:18px;
}

.bhs-terms-hero-mark small{
    display:block;

    margin-bottom:6px;

    font-size:14px;
    font-weight:600;
    letter-spacing:.5px;
    text-transform:uppercase;

    opacity:.5;
}

.bhs-terms-hero-mark strong{
    display:block;

    font-size:18px;
    line-height:1.25;
    font-weight:500;

    letter-spacing:-.4px;
}



/* HERO BACKGROUND WORD */

.bhs-terms-hero-word{
    position:absolute;

    right:-10px;
    top:60px;

    font-size:clamp(100px,14vw,200px);
    line-height:.8;

    font-weight:600;
    letter-spacing:-10px;

    opacity:.025;

    white-space:nowrap;
    pointer-events:none;
}



/* =====================================================
   MAIN LAYOUT
===================================================== */

.bhs-terms-layout{
    margin-top:22px;

    display:grid;
    grid-template-columns:320px 1fr;

    gap:22px;

    align-items:start;
}



/* =====================================================
   LEFT NAVIGATION
===================================================== */

.bhs-terms-nav{
    position:relative;
}

.bhs-terms-nav-box{
    position:sticky;
    top:105px;

    padding:25px;

    background:#F6F2EF;

    border-radius:
        25px 25px 55px 25px;
}

.bhs-terms-nav-label{
    display:block;

    margin-bottom:15px;
    padding-bottom:14px;

    border-bottom:
        1px solid rgba(0,0,0,.08);

    font-size:14px;
    font-weight:600;
    letter-spacing:.7px;
    text-transform:uppercase;

    opacity:.6;
}

.bhs-terms-nav nav{
    display:flex;
    flex-direction:column;
}

.bhs-terms-nav nav a{
    min-height:47px;

    display:flex;
    align-items:center;

    gap:11px;

    color:#000;
    text-decoration:none;

    border-bottom:
        1px solid rgba(0,0,0,.05);

    font-size:14px;
    line-height:1.3;

    transition:
        transform .3s ease,
        opacity .3s ease;
}

.bhs-terms-nav nav a:last-child{
    border-bottom:0;
}

.bhs-terms-nav nav a:hover{
    transform:translateX(5px);
}

.bhs-terms-nav nav a span{
    flex:0 0 30px;

    font-size:14px;
    font-weight:600;

    opacity:.4;
}



/* =====================================================
   CONTENT
===================================================== */

.bhs-terms-content{
    min-width:0;
}



/* =====================================================
   INTRODUCTION
===================================================== */

.bhs-terms-introduction{
    padding:38px 40px;

    background:#E7DFD9;

    border-radius:
        26px 26px 60px 26px;
}

.bhs-terms-introduction>span{
    display:block;

    margin-bottom:13px;

    font-size:14px;
    font-weight:600;
    letter-spacing:.7px;
    text-transform:uppercase;

    opacity:.55;
}

.bhs-terms-introduction p{
    margin:0;

    font-size:18px;
    line-height:1.75;

    letter-spacing:-.25px;

    opacity:.82;
}



/* =====================================================
   POLICY BLOCKS
===================================================== */

.bhs-terms-policy-block{
    scroll-margin-top:120px;

    margin-top:16px;

    padding:34px 36px;

    display:grid;
    grid-template-columns:60px 1fr;

    gap:25px;

    background:#F6F2EF;

    border-radius:
        24px 24px 55px 24px;

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.bhs-terms-policy-block:hover{
    transform:translateY(-3px);

    box-shadow:
        0 18px 45px rgba(0,0,0,.045);
}



/* POLICY NUMBER */

.bhs-terms-policy-number{
    width:52px;
    height:52px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;

    border-radius:
        16px 16px 27px 16px;

    font-size:14px;
    font-weight:600;
}



/* POLICY BODY */

.bhs-terms-policy-body h2{
    margin:4px 0 15px;

    font-size:30px;
    line-height:1.08;

    letter-spacing:-1.4px;
    font-weight:500;
}

.bhs-terms-policy-body p{
    margin:0;

    font-size:15px;
    line-height:1.9;

    opacity:.72;
}

.bhs-terms-policy-body p+p{
    margin-top:14px;
}



/* PRIVACY POLICY LINK */

.bhs-terms-policy-link{
    display:inline-flex;
    align-items:center;

    gap:10px;

    margin-top:18px;
    padding:13px 17px;

    background:#fff;

    border-radius:12px;

    color:#000;
    text-decoration:none;

    font-size:14px;
    font-weight:600;

    transition:
        transform .3s ease,
        border-radius .3s ease;
}

.bhs-terms-policy-link:hover{
    transform:translateY(-3px);

    border-radius:
        18px 12px 20px 12px;
}

.bhs-terms-policy-link i{
    font-size:12px;

    transition:transform .3s ease;
}

.bhs-terms-policy-link:hover i{
    transform:translateX(4px);
}



/* =====================================================
   CONTACT SECTION
===================================================== */

.bhs-terms-contact{
    scroll-margin-top:120px;

    position:relative;

    margin-top:16px;
    padding:42px;

    background:#E7DFD9;

    border-radius:
        30px 30px 75px 30px;

    overflow:hidden;
}



/* CONTACT HEADER */

.bhs-terms-contact-head{
    display:flex;
    align-items:flex-start;

    gap:18px;
}

.bhs-terms-contact-number{
    flex:0 0 52px;

    width:52px;
    height:52px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;

    border-radius:
        16px 16px 28px 16px;

    font-size:14px;
    font-weight:600;
}

.bhs-terms-contact-head small{
    display:block;

    margin-bottom:7px;

    font-size:14px;
    font-weight:600;
    letter-spacing:.7px;
    text-transform:uppercase;

    opacity:.5;
}

.bhs-terms-contact-head h2{
    margin:0;

    font-size:clamp(38px,4vw,58px);
    line-height:.95;

    letter-spacing:-2.7px;
    font-weight:500;
}

.bhs-terms-contact-head h2 span{
    display:block;
}



/* CONTACT INTRO */

.bhs-terms-contact-intro{
    max-width:700px;

    margin:22px 0 30px 70px;

    font-size:15px;
    line-height:1.85;

    opacity:.7;
}



/* CONTACT GRID */

.bhs-terms-contact-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);

    gap:10px;
}

.bhs-terms-contact-grid>a{
    position:relative;

    min-height:95px;

    padding:15px;

    display:grid;
    grid-template-columns:48px 1fr 24px;

    align-items:center;

    gap:13px;

    background:#fff;

    color:#000;
    text-decoration:none;

    border-radius:16px;

    transition:
        transform .35s ease,
        border-radius .35s ease;
}

.bhs-terms-contact-grid>a:hover{
    transform:translateY(-4px);

    border-radius:
        24px 16px 28px 16px;
}

.bhs-terms-contact-location{
    grid-column:1 / -1;
}



/* CONTACT ICON */

.bhs-terms-contact-icon{
    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#F6F2EF;

    border-radius:
        15px 15px 25px 15px;

    font-size:14px;
}

.bhs-terms-contact-grid a small{
    display:block;

    margin-bottom:5px;

    font-size:14px;
    font-weight:600;
    letter-spacing:.5px;
    text-transform:uppercase;

    opacity:.5;
}

.bhs-terms-contact-grid a strong{
    display:block;

    font-size:14px;
    line-height:1.5;
    font-weight:500;

    overflow-wrap:anywhere;
}

.bhs-terms-contact-grid>a>i{
    font-size:14px;

    opacity:.4;

    transition:
        transform .3s ease,
        opacity .3s ease;
}

.bhs-terms-contact-grid>a:hover>i{
    opacity:1;

    transform:
        translate(2px,-2px);
}



/* =====================================================
   TABLET
===================================================== */

@media(max-width:1050px){

    .bhs-terms-hero{
        align-items:flex-start;
        flex-direction:column;

        min-height:auto;
    }


    .bhs-terms-hero-mark{
        width:100%;
        max-width:360px;
    }


    .bhs-terms-layout{
        grid-template-columns:1fr;
    }


    .bhs-terms-nav-box{
        position:relative;
        top:auto;
    }


    .bhs-terms-nav nav{
        display:grid;
        grid-template-columns:repeat(3,1fr);

        gap:5px;
    }


    .bhs-terms-nav nav a{
        padding:11px;

        background:#fff;

        border:0;

        border-radius:10px;
    }

}



/* =====================================================
   SMALL TABLET
===================================================== */

@media(max-width:760px){

    .bhs-terms-nav nav{
        grid-template-columns:repeat(2,1fr);
    }


    .bhs-terms-contact-grid{
        grid-template-columns:1fr;
    }


    .bhs-terms-contact-location{
        grid-column:auto;
    }

}



/* =====================================================
   MOBILE
===================================================== */

@media(max-width:600px){

    .bhs-terms-page{
        padding:
            30px 16px 75px;
    }


    /* HERO */

    .bhs-terms-hero{
        padding:
            40px 22px 25px;

        gap:35px;

        border-radius:
            24px 24px 58px 24px;
    }


    .bhs-terms-hero-copy h1{
        font-size:54px;
        line-height:.9;

        letter-spacing:-3.5px;
    }


    .bhs-terms-hero-copy p{
        font-size:15px;
    }


    .bhs-terms-hero-kicker{
        font-size:13px;
    }


    .bhs-terms-hero-mark{
        flex-basis:auto;

        max-width:none;

        padding:20px;
    }


    .bhs-terms-hero-mark small{
        font-size:13px;
    }


    .bhs-terms-hero-word{
        top:35px;

        font-size:80px;
        letter-spacing:-5px;
    }


    /* NAVIGATION */

    .bhs-terms-nav-box{
        padding:18px;

        border-radius:
            20px 20px 40px 20px;
    }


    .bhs-terms-nav-label{
        font-size:13px;
    }


    .bhs-terms-nav nav{
        grid-template-columns:1fr;
    }


    .bhs-terms-nav nav a{
        font-size:14px;
    }


    .bhs-terms-nav nav a span{
        font-size:14px;
    }


    /* INTRO */

    .bhs-terms-introduction{
        padding:25px 22px;

        border-radius:
            20px 20px 42px 20px;
    }


    .bhs-terms-introduction>span{
        font-size:13px;
    }


    .bhs-terms-introduction p{
        font-size:15px;
        line-height:1.7;
    }


    /* POLICY */

    .bhs-terms-policy-block{
        padding:22px 18px;

        grid-template-columns:1fr;

        gap:16px;

        border-radius:
            20px 20px 42px 20px;
    }


    .bhs-terms-policy-number{
        width:44px;
        height:44px;

        font-size:13px;
    }


    .bhs-terms-policy-body h2{
        font-size:27px;

        letter-spacing:-1px;
    }


    .bhs-terms-policy-body p{
        font-size:14px;
        line-height:1.8;
    }


    .bhs-terms-policy-link{
        font-size:14px;
    }


    /* CONTACT */

    .bhs-terms-contact{
        padding:27px 20px;

        border-radius:
            22px 22px 50px 22px;
    }


    .bhs-terms-contact-head{
        flex-direction:column;
    }


    .bhs-terms-contact-number{
        font-size:13px;
    }


    .bhs-terms-contact-head small{
        font-size:13px;
    }


    .bhs-terms-contact-head h2{
        font-size:40px;
        letter-spacing:-2px;
    }


    .bhs-terms-contact-intro{
        margin:
            20px 0 25px;

        font-size:14px;
    }


    .bhs-terms-contact-grid>a{
        min-height:85px;

        grid-template-columns:
            44px 1fr 18px;

        gap:10px;
    }


    .bhs-terms-contact-icon{
        width:44px;
        height:44px;
    }


    .bhs-terms-contact-grid a small{
        font-size:13px;
    }


    .bhs-terms-contact-grid a strong{
        font-size:14px;
    }

}

.bhs-contact-success-message,
.bhs-contact-error-message {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px;
    margin-bottom: 22px;
    border-radius: 12px;
}

.bhs-contact-success-message {
    background: #edf9f1;
    border: 1px solid #b8e5c7;
    color: #176b36;
}

.bhs-contact-error-message {
    background: #fff2f2;
    border: 1px solid #f0c2c2;
    color: #a52a2a;
}

.bhs-contact-success-message > i,
.bhs-contact-error-message > i {
    font-size: 22px;
    margin-top: 2px;
}

.bhs-contact-success-message strong,
.bhs-contact-error-message strong {
    display: block;
    font-size: 16px;
    margin-bottom: 4px;
}

.bhs-contact-success-message p,
.bhs-contact-error-message p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
}

/* =====================================================
   THANK YOU PAGE
===================================================== */

.bhs-thankyou-page{
    padding:60px 5% 110px;
    background:#fff;
    overflow:hidden;
}

.bhs-thankyou-page-inner{
    max-width:1440px;
    margin:0 auto;
}



/* =====================================================
   SUCCESS PANEL
===================================================== */

.bhs-thankyou-success{
    position:relative;

    min-height:610px;

    padding:65px 60px;

    display:grid;
    grid-template-columns:1.1fr .9fr;

    align-items:center;

    gap:70px;

    background:#F6F2EF;

    border-radius:
        38px 38px 110px 38px;

    overflow:hidden;
}



/* =====================================================
   DECORATIVE WORD
===================================================== */

.bhs-thankyou-success-word{
    position:absolute;

    left:30px;
    bottom:20px;

    font-size:clamp(90px,13vw,190px);
    line-height:.8;

    letter-spacing:-10px;
    font-weight:600;

    opacity:.025;

    white-space:nowrap;

    pointer-events:none;
}



/* =====================================================
   SUCCESS COPY
===================================================== */

.bhs-thankyou-success-copy{
    position:relative;
    z-index:3;

    max-width:780px;
}

.bhs-thankyou-success-kicker{
    display:inline-flex;
    align-items:center;

    gap:8px;

    margin-bottom:18px;
    padding:9px 13px;

    background:#fff;

    border-radius:30px;

    font-size:14px;
    font-weight:600;
    letter-spacing:.5px;
    text-transform:uppercase;
}

.bhs-thankyou-success-kicker::before{
    content:"";

    width:7px;
    height:7px;

    background:#000;

    border-radius:50%;
}

.bhs-thankyou-success-copy h1{
    margin:0;

    font-size:clamp(60px,7vw,105px);
    line-height:.88;

    letter-spacing:-6px;
    font-weight:500;
}

.bhs-thankyou-success-copy h1 span{
    display:block;
}

.bhs-thankyou-success-copy>p{
    max-width:680px;

    margin:28px 0 0;

    font-size:16px;
    line-height:1.85;

    opacity:.7;
}



/* =====================================================
   SUCCESS ACTIONS
===================================================== */

.bhs-thankyou-success-actions{
    margin-top:30px;

    display:flex;
    align-items:center;

    gap:10px;
}

.bhs-thankyou-success-primary,
.bhs-thankyou-success-secondary{
    min-height:54px;

    padding:0 20px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:18px;

    border-radius:15px;

    text-decoration:none;

    font-size:14px;
    font-weight:600;

    transition:
        transform .35s ease,
        border-radius .35s ease;
}

.bhs-thankyou-success-primary{
    background:#000;
    color:#fff;
}

.bhs-thankyou-success-secondary{
    background:#fff;
    color:#000;
}

.bhs-thankyou-success-primary:hover,
.bhs-thankyou-success-secondary:hover{
    transform:translateY(-4px);

    border-radius:
        23px 15px 26px 15px;
}

.bhs-thankyou-success-primary i{
    font-size:12px;

    transition:transform .3s ease;
}

.bhs-thankyou-success-primary:hover i{
    transform:translateX(5px);
}



/* =====================================================
   SUCCESS VISUAL
===================================================== */

.bhs-thankyou-success-visual{
    position:relative;
    z-index:3;

    min-height:450px;

    display:flex;
    align-items:center;
    justify-content:center;
}



/* OUTER RING */

.bhs-thankyou-success-ring{
    position:relative;

    width:310px;
    height:310px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:
        1px solid rgba(0,0,0,.12);

    border-radius:50%;
}

.bhs-thankyou-success-ring::before,
.bhs-thankyou-success-ring::after{
    content:"";

    position:absolute;

    border-radius:50%;
}

.bhs-thankyou-success-ring::before{
    width:240px;
    height:240px;

    border:
        1px dashed rgba(0,0,0,.12);

    animation:
        bhsThankyouRotate
        18s linear infinite;
}

.bhs-thankyou-success-ring::after{
    width:155px;
    height:155px;

    background:#E7DFD9;
}



/* CHECK */

.bhs-thankyou-success-check{
    position:relative;
    z-index:3;

    width:105px;
    height:105px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#000;
    color:#fff;

    border-radius:
        32px 32px 55px 32px;

    font-size:34px;

    animation:
        bhsThankyouCheckFloat
        3.5s ease-in-out infinite;
}



/* STATUS CARD */

.bhs-thankyou-success-status{
    position:absolute;

    left:0;
    bottom:55px;

    min-width:220px;

    padding:17px;

    background:#fff;

    border-radius:
        18px 18px 35px 18px;

    box-shadow:
        0 20px 45px rgba(0,0,0,.05);
}

.bhs-thankyou-success-status small{
    display:block;

    margin-bottom:5px;

    font-size:14px;
    font-weight:600;

    opacity:.5;
}

.bhs-thankyou-success-status strong{
    display:block;

    font-size:15px;
    font-weight:500;
}



/* PRIVACY NOTE */

.bhs-thankyou-success-note{
    position:absolute;

    right:0;
    top:45px;

    max-width:245px;

    padding:16px;

    display:flex;
    align-items:flex-start;

    gap:11px;

    background:#fff;

    border-radius:
        18px 18px 35px 18px;

    box-shadow:
        0 20px 45px rgba(0,0,0,.04);
}

.bhs-thankyou-success-note>span{
    flex:0 0 38px;

    width:38px;
    height:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#F6F2EF;

    border-radius:12px;

    font-size:14px;
}

.bhs-thankyou-success-note p{
    margin:0;

    font-size:14px;
    line-height:1.6;

    opacity:.68;
}



/* =====================================================
   WHAT HAPPENS NEXT
===================================================== */

.bhs-thankyou-next{
    margin-top:90px;
}



/* HEADER */

.bhs-thankyou-next-head{
    margin-bottom:40px;

    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    gap:50px;
}

.bhs-thankyou-next-kicker{
    display:inline-flex;
    align-items:center;

    gap:8px;

    margin-bottom:14px;
    padding:8px 12px;

    background:#F6F2EF;

    border-radius:30px;

    font-size:14px;
    font-weight:600;
    text-transform:uppercase;
}

.bhs-thankyou-next-kicker::before{
    content:"";

    width:7px;
    height:7px;

    background:#000;

    border-radius:50%;
}

.bhs-thankyou-next-head h2{
    max-width:760px;

    margin:0;

    font-size:clamp(44px,5vw,70px);
    line-height:.96;

    letter-spacing:-3px;
    font-weight:500;
}

.bhs-thankyou-next-head h2 span{
    display:block;
}

.bhs-thankyou-next-head>p{
    max-width:450px;

    margin:0;

    font-size:15px;
    line-height:1.8;

    opacity:.68;
}



/* =====================================================
   NEXT STEP GRID
===================================================== */

.bhs-thankyou-next-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:14px;
}

.bhs-thankyou-next-item{
    min-height:300px;

    padding:28px;

    background:#F6F2EF;

    border-radius:
        26px 26px 58px 26px;

    transition:
        transform .4s ease,
        box-shadow .4s ease;
}

.bhs-thankyou-next-item:nth-child(2){
    background:#E7DFD9;
}

.bhs-thankyou-next-item:hover{
    transform:translateY(-7px);

    box-shadow:
        0 20px 45px rgba(0,0,0,.05);
}



/* TOP */

.bhs-thankyou-next-top{
    display:flex;
    align-items:center;
    justify-content:space-between;

    margin-bottom:65px;
}

.bhs-thankyou-next-number{
    font-size:14px;
    font-weight:600;

    opacity:.45;
}

.bhs-thankyou-next-icon{
    width:55px;
    height:55px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;

    border-radius:
        17px 17px 30px 17px;

    font-size:17px;

    transition:
        transform .4s ease,
        border-radius .4s ease;
}

.bhs-thankyou-next-item:hover
.bhs-thankyou-next-icon{
    transform:rotate(-6deg);

    border-radius:50%;
}



/* CONTENT */

.bhs-thankyou-next-item h3{
    margin:0 0 12px;

    font-size:27px;
    line-height:1.1;

    letter-spacing:-1px;
    font-weight:500;
}

.bhs-thankyou-next-item p{
    margin:0;

    font-size:15px;
    line-height:1.8;

    opacity:.68;
}



/* =====================================================
   SUPPORT PANEL
===================================================== */

.bhs-thankyou-support{
    margin-top:18px;

    padding:45px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:50px;

    background:#E7DFD9;

    border-radius:
        30px 30px 75px 30px;
}



/* SUPPORT COPY */

.bhs-thankyou-support-copy{
    max-width:700px;
}

.bhs-thankyou-support-copy>span{
    display:block;

    margin-bottom:10px;

    font-size:14px;
    font-weight:600;
    text-transform:uppercase;

    opacity:.55;
}

.bhs-thankyou-support-copy h2{
    margin:0;

    font-size:clamp(38px,4vw,58px);
    line-height:.98;

    letter-spacing:-2.5px;
    font-weight:500;
}

.bhs-thankyou-support-copy h2 span{
    display:block;
}

.bhs-thankyou-support-copy p{
    max-width:650px;

    margin:18px 0 0;

    font-size:15px;
    line-height:1.8;

    opacity:.68;
}



/* SUPPORT ACTIONS */

.bhs-thankyou-support-actions{
    min-width:330px;

    display:flex;
    flex-direction:column;

    gap:10px;
}

.bhs-thankyou-support-contact{
    padding:14px;

    display:flex;
    align-items:center;

    gap:12px;

    background:#fff;

    border-radius:16px;

    color:#000;
    text-decoration:none;
}

.bhs-thankyou-support-contact>span{
    width:46px;
    height:46px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#F6F2EF;

    border-radius:14px;

    font-size:14px;
}

.bhs-thankyou-support-contact small{
    display:block;

    margin-bottom:3px;

    font-size:14px;
    font-weight:600;

    opacity:.5;
}

.bhs-thankyou-support-contact strong{
    display:block;

    font-size:15px;
    font-weight:500;
}

.bhs-thankyou-support-button{
    min-height:55px;

    padding:0 18px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    background:#000;
    color:#fff;

    border-radius:15px;

    text-decoration:none;

    font-size:14px;
    font-weight:600;

    transition:
        transform .35s ease,
        border-radius .35s ease;
}

.bhs-thankyou-support-button:hover{
    transform:translateY(-4px);

    border-radius:
        24px 15px 27px 15px;
}



/* =====================================================
   ANIMATIONS
===================================================== */

@keyframes bhsThankyouRotate{

    from{
        transform:rotate(0);
    }

    to{
        transform:rotate(360deg);
    }

}


@keyframes bhsThankyouCheckFloat{

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

    50%{
        transform:translateY(-8px);
    }

}



/* =====================================================
   TABLET
===================================================== */

@media(max-width:1050px){

    .bhs-thankyou-success{
        grid-template-columns:1fr;

        gap:30px;
    }


    .bhs-thankyou-success-visual{
        min-height:500px;
    }


    .bhs-thankyou-next-head{
        align-items:flex-start;
        flex-direction:column;

        gap:20px;
    }


    .bhs-thankyou-next-grid{
        grid-template-columns:1fr;
    }


    .bhs-thankyou-next-item{
        min-height:auto;
    }


    .bhs-thankyou-next-top{
        margin-bottom:35px;
    }


    .bhs-thankyou-support{
        align-items:flex-start;
        flex-direction:column;
    }


    .bhs-thankyou-support-actions{
        width:100%;
        min-width:0;
    }

}



/* =====================================================
   MOBILE
===================================================== */

@media(max-width:600px){

    .bhs-thankyou-page{
        padding:
            30px 16px 75px;
    }


    /* SUCCESS */

    .bhs-thankyou-success{
        min-height:auto;

        padding:
            40px 22px 28px;

        gap:20px;

        border-radius:
            24px 24px 58px 24px;
    }


    .bhs-thankyou-success-kicker{
        font-size:13px;
    }


    .bhs-thankyou-success-copy h1{
        font-size:54px;
        line-height:.9;

        letter-spacing:-3.5px;
    }


    .bhs-thankyou-success-copy>p{
        font-size:15px;
    }


    .bhs-thankyou-success-actions{
        flex-direction:column;
        align-items:stretch;
    }


    .bhs-thankyou-success-primary,
    .bhs-thankyou-success-secondary{
        width:100%;
    }


    /* VISUAL */

    .bhs-thankyou-success-visual{
        min-height:480px;
    }


    .bhs-thankyou-success-ring{
        width:250px;
        height:250px;
    }


    .bhs-thankyou-success-ring::before{
        width:195px;
        height:195px;
    }


    .bhs-thankyou-success-ring::after{
        width:130px;
        height:130px;
    }


    .bhs-thankyou-success-check{
        width:88px;
        height:88px;

        font-size:28px;
    }


    .bhs-thankyou-success-status{
        left:0;
        bottom:30px;

        min-width:200px;
    }


    .bhs-thankyou-success-note{
        right:0;
        top:20px;

        max-width:220px;
    }


    .bhs-thankyou-success-note p{
        font-size:14px;
    }


    .bhs-thankyou-success-word{
        left:10px;

        font-size:70px;
        letter-spacing:-5px;
    }


    /* NEXT */

    .bhs-thankyou-next{
        margin-top:70px;
    }


    .bhs-thankyou-next-kicker{
        font-size:13px;
    }


    .bhs-thankyou-next-head h2{
        font-size:42px;
        letter-spacing:-2px;
    }


    .bhs-thankyou-next-head>p{
        font-size:15px;
    }


    .bhs-thankyou-next-item{
        padding:24px;

        border-radius:
            22px 22px 48px 22px;
    }


    .bhs-thankyou-next-item h3{
        font-size:24px;
    }


    .bhs-thankyou-next-item p{
        font-size:14px;
    }


    /* SUPPORT */

    .bhs-thankyou-support{
        padding:28px 22px;

        border-radius:
            22px 22px 50px 22px;
    }


    .bhs-thankyou-support-copy>span{
        font-size:13px;
    }


    .bhs-thankyou-support-copy h2{
        font-size:39px;
        letter-spacing:-2px;
    }


    .bhs-thankyou-support-copy p{
        font-size:14px;
    }


    .bhs-thankyou-support-contact small{
        font-size:13px;
    }


    .bhs-thankyou-support-contact strong{
        font-size:14px;
    }

}

.bhs-catalog-deck-empty[hidden] {
    display: none !important;
}

.bhs-catalog-deck-empty-visible {
    display: flex;
}

/* =========================================================
   NAVIGATION VISIBILITY
   ========================================================= */

.bhs-desktop-nav {
    display: flex;
}

.bhs-mobile-toggle {
    display: none;
}

.bhs-mobile-panel {
    display: none;
}


/* =========================================================
   MOBILE NAVIGATION
   ========================================================= */

@media (max-width: 900px) {

    .bhs-desktop-nav {
        display: none;
    }

    .bhs-mobile-toggle {
        display: flex;
    }

    .bhs-mobile-panel {
        display: none;
    }

    .bhs-mobile-panel.bhs-mobile-panel-open {
        display: block;
    }

}


/* =========================================================
   DESKTOP SAFETY
   ========================================================= */

@media (min-width: 901px) {

    .bhs-mobile-toggle,
    .bhs-mobile-panel,
    .bhs-mobile-panel.bhs-mobile-panel-open {
        display: none !important;
    }

}

.bhs-about-edge-rail {
    overflow: hidden;
    width: 100%;
}

.bhs-about-edge-rail-track {
    display: flex;
    width: max-content;
    animation: bhsAboutEdgeMarquee 18s linear infinite;
}

.bhs-about-edge-rail-group {
    display: flex;
    align-items: center;
    gap: 18px;
    flex: 0 0 auto;
    padding-right: 18px;
    white-space: nowrap;
}

@keyframes bhsAboutEdgeMarquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-100% / 3));
    }
}

.bhs-contact-mirror-rail {
    overflow: hidden;
    width: 100%;
}

.bhs-contact-mirror-track {
    display: flex;
    width: max-content;
    animation: bhsContactMirrorMarquee 18s linear infinite;
}

.bhs-contact-mirror-group {
    display: flex;
    align-items: center;
    gap: 18px;
    flex: 0 0 auto;
    padding-right: 18px;
    white-space: nowrap;
}

@keyframes bhsContactMirrorMarquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-100% / 3));
    }
}

.bhs-order-portal-rail {
    overflow: hidden;
    width: 100%;
}

.bhs-order-portal-track {
    display: flex;
    width: max-content;
    animation: bhsOrderPortalMarquee 18s linear infinite;
}

.bhs-order-portal-group {
    display: flex;
    align-items: center;
    gap: 18px;
    flex: 0 0 auto;
    padding-right: 18px;
    white-space: nowrap;
}

@keyframes bhsOrderPortalMarquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-100% / 3));
    }
}

.bhs-products-mirror-rail {
    overflow: hidden;
    width: 100%;
}

.bhs-products-mirror-track {
    display: flex;
    width: max-content;
    animation: bhsProductsMirrorMarquee 18s linear infinite;
}

.bhs-products-mirror-group {
    display: flex;
    align-items: center;
    gap: 18px;
    flex: 0 0 auto;
    padding-right: 18px;
    white-space: nowrap;
}

@keyframes bhsProductsMirrorMarquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-100% / 3));
    }
}

/* ==========================================================
   BAVARRO HEALTH SOLUTIONS
   HOMEPAGE LOWER SECTIONS — FINAL TYPOGRAPHY SYSTEM
========================================================== */


/* ==========================================================
   SHARED TYPOGRAPHY FOUNDATION
========================================================== */

.bhs-orderflow,
.bhs-global-cta,
.bhs-footer{
    --bhs-type-primary:#161616;
    --bhs-type-secondary:rgba(22,22,22,.68);
    --bhs-type-muted:rgba(22,22,22,.48);

    color:var(--bhs-type-primary);

    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;

    text-rendering:optimizeLegibility;
}


/*
IMPORTANT:
Do not apply font-family to every child with * selector.

That can create problems with Font Awesome icons.
Normal text will already inherit your website font correctly.
*/


/* ==========================================================
   01 — HOW TO ORDER
========================================================== */


/* SECTION HEADER */

.bhs-orderflow-head{
    align-items:flex-end;
}


.bhs-orderflow-kicker{
    display:inline-block;

    margin-bottom:14px;

    font-size:14px !important;
    line-height:1.4;

    font-weight:600;

    letter-spacing:.06em !important;

    text-transform:uppercase;
}


.bhs-orderflow-heading h2{
    max-width:760px;

    margin:0;

    font-size:clamp(42px,4.4vw,64px) !important;
    line-height:1.03 !important;

    font-weight:500 !important;

    letter-spacing:-.045em !important;
}


.bhs-orderflow-head>p{
    max-width:490px;

    margin:0;

    font-size:16px !important;
    line-height:1.75 !important;

    font-weight:400 !important;

    letter-spacing:0 !important;

    color:var(--bhs-type-secondary);

    opacity:1 !important;
}



/* ==========================================================
   ORDER STEP CARDS
========================================================== */


/* CURRENT STEP */

.bhs-orderflow-current{
    font-size:13px !important;
    line-height:1.35 !important;

    font-weight:600 !important;

    letter-spacing:.04em !important;

    text-transform:uppercase !important;
}


/* BIG DECORATIVE NUMBER */

.bhs-orderflow-big-number{
    font-family:inherit !important;

    font-weight:500 !important;

    letter-spacing:-.07em !important;

    line-height:.85 !important;
}


/* STEP SMALL LABEL */

.bhs-orderflow-copy>span{
    display:block;

    margin-bottom:8px;

    font-size:13px !important;
    line-height:1.4 !important;

    font-weight:600 !important;

    letter-spacing:.055em !important;

    text-transform:uppercase;

    color:var(--bhs-type-muted);

    opacity:1 !important;
}


/* STEP TITLE */

.bhs-orderflow-copy h3{
    margin:0 0 12px !important;

    font-size:clamp(22px,1.7vw,27px) !important;
    line-height:1.16 !important;

    font-weight:500 !important;

    letter-spacing:-.025em !important;
}


/* STEP BODY */

.bhs-orderflow-copy p{
    max-width:310px;

    margin:0 !important;

    font-size:15px !important;
    line-height:1.72 !important;

    font-weight:400 !important;

    letter-spacing:0 !important;

    color:var(--bhs-type-secondary);

    opacity:1 !important;
}



/* ==========================================================
   ORDERFLOW BOTTOM BAR
========================================================== */

.bhs-orderflow-bottom-copy strong{
    display:block;

    margin-bottom:4px;

    font-size:16px !important;
    line-height:1.35 !important;

    font-weight:600 !important;

    letter-spacing:-.015em !important;
}


.bhs-orderflow-bottom-copy p{
    margin:0 !important;

    font-size:14px !important;
    line-height:1.55 !important;

    font-weight:400 !important;

    letter-spacing:0 !important;

    color:var(--bhs-type-secondary);

    opacity:1 !important;
}


.bhs-orderflow-button{
    font-size:15px !important;
    line-height:1 !important;

    font-weight:600 !important;

    letter-spacing:-.01em !important;
}



/* ==========================================================
   02 — GLOBAL CTA
========================================================== */


/* KICKER */

.bhs-global-cta-kicker{
    display:inline-block;

    margin-bottom:15px;

    font-size:14px !important;
    line-height:1.4 !important;

    font-weight:600 !important;

    letter-spacing:.06em !important;

    text-transform:uppercase;
}



/* MAIN HEADING */

.bhs-global-cta-copy h2{
    max-width:800px;

    margin:0;

    font-size:clamp(44px,5vw,72px) !important;
    line-height:1.01 !important;

    font-weight:500 !important;

    letter-spacing:-.048em !important;
}



/* DESCRIPTION */

.bhs-global-cta-copy p{
    max-width:650px;

    margin-top:20px;

    font-size:16px !important;
    line-height:1.75 !important;

    font-weight:400 !important;

    letter-spacing:0 !important;

    color:var(--bhs-type-secondary);

    opacity:1 !important;
}



/* MAIN BUTTON */

.bhs-global-cta-button,
.bhs-global-cta-button span{
    font-size:15px !important;
    line-height:1 !important;

    font-weight:600 !important;

    letter-spacing:-.01em !important;
}



/* PHONE AREA */

.bhs-global-cta-phone-copy small{
    display:block;

    margin-bottom:4px;

    font-size:13px !important;
    line-height:1.35 !important;

    font-weight:500 !important;

    letter-spacing:.015em !important;

    text-transform:none !important;

    opacity:.58 !important;
}


.bhs-global-cta-phone-copy strong{
    display:block;

    font-size:18px !important;
    line-height:1.25 !important;

    font-weight:600 !important;

    letter-spacing:-.02em !important;
}



/* ==========================================================
   03 — FOOTER
========================================================== */


/* ==========================================================
   FOOTER BRAND
========================================================== */

.bhs-footer-brand p{
    max-width:390px;

    font-size:15px !important;
    line-height:1.75 !important;

    font-weight:400 !important;

    letter-spacing:0 !important;

    color:var(--bhs-type-secondary);

    opacity:1 !important;
}



/* ==========================================================
   FOOTER COLUMN HEADINGS
========================================================== */

.bhs-footer-title{
    display:block;

    margin-bottom:20px;

    font-size:13px !important;
    line-height:1.4 !important;

    font-weight:600 !important;

    letter-spacing:.07em !important;

    text-transform:uppercase;

    color:var(--bhs-type-muted);

    opacity:1 !important;
}



/* ==========================================================
   FOOTER NAV LINKS
========================================================== */

.bhs-footer-links{
    gap:0;
}


.bhs-footer-links>a{
    min-height:38px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    font-size:15px !important;
    line-height:1.4 !important;

    font-weight:500 !important;

    letter-spacing:-.01em !important;
}


.bhs-footer-links>a i{
    font-size:11px;

    opacity:.4;

    transition:
        transform .3s ease,
        opacity .3s ease;
}


.bhs-footer-links>a:hover i{
    transform:translateX(4px);

    opacity:1;
}



/* ==========================================================
   FOOTER CONTACT DETAILS
========================================================== */

.bhs-footer-contact-item{
    align-items:center;
}


.bhs-footer-contact-item small{
    display:block;

    margin-bottom:4px;

    font-size:13px !important;
    line-height:1.35 !important;

    font-weight:500 !important;

    letter-spacing:.025em !important;

    text-transform:uppercase !important;

    color:var(--bhs-type-muted);

    opacity:1 !important;
}


.bhs-footer-contact-item strong{
    display:block;

    max-width:100%;

    font-size:14px !important;
    line-height:1.45 !important;

    font-weight:500 !important;

    letter-spacing:-.01em !important;

    overflow-wrap:anywhere;

    word-break:normal;
}



/* ==========================================================
   FOOTER ADDRESS
========================================================== */

.bhs-footer-address p{
    margin:0;

    font-size:15px !important;
    line-height:1.7 !important;

    font-weight:400 !important;

    letter-spacing:0 !important;

    color:var(--bhs-type-secondary);

    opacity:1 !important;
}


.bhs-footer-location-link{
    font-size:14px !important;
    line-height:1.4 !important;

    font-weight:600 !important;

    letter-spacing:-.005em !important;
}



/* ==========================================================
   FOOTER BOTTOM
========================================================== */

.bhs-footer-bottom>p{
    margin:0;

    font-size:14px !important;
    line-height:1.5 !important;

    font-weight:400 !important;

    letter-spacing:0 !important;

    color:var(--bhs-type-secondary);

    opacity:1 !important;
}


.bhs-footer-bottom>p span{
    font-size:inherit !important;
    line-height:inherit !important;

    font-weight:inherit !important;

    letter-spacing:inherit !important;
}


.bhs-footer-bottom-links a{
    font-size:14px !important;
    line-height:1.5 !important;

    font-weight:500 !important;

    letter-spacing:0 !important;
}


.bhs-footer-top{
    font-size:14px !important;
    line-height:1.4 !important;

    font-weight:600 !important;

    letter-spacing:0 !important;
}



/* ==========================================================
   IMPORTANT — DO NOT BREAK FONT AWESOME
========================================================== */

/*
Only reset text font inheritance.
Do not use:

.bhs-footer * {
    font-family: your-font !important;
}

That can break Font Awesome.

These rules make sure icon fonts remain untouched.
*/

.bhs-orderflow .fa-solid,
.bhs-global-cta .fa-solid,
.bhs-footer .fa-solid{
    font-family:"Font Awesome 6 Free" !important;
    font-weight:900 !important;
}



/* ==========================================================
   DESKTOP SPACING POLISH
========================================================== */

@media(min-width:1100px){

    .bhs-orderflow-copy{
        padding-top:4px;
    }


    .bhs-footer-main{
        column-gap:45px;
    }


    .bhs-footer-contact-item{
        margin-bottom:13px;
    }

}



/* ==========================================================
   TABLET
========================================================== */

@media(max-width:1000px){

    .bhs-orderflow-head{
        align-items:flex-start;
    }


    .bhs-orderflow-heading h2{
        font-size:48px !important;

        letter-spacing:-.04em !important;
    }


    .bhs-orderflow-head>p{
        font-size:15px !important;
    }


    .bhs-global-cta-copy h2{
        font-size:52px !important;

        letter-spacing:-.04em !important;
    }


    .bhs-global-cta-copy p{
        font-size:15px !important;
    }

}



/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:600px){


    /* ---------------------------------------------
       ORDER FLOW
    --------------------------------------------- */

    .bhs-orderflow-kicker{
        font-size:13px !important;

        letter-spacing:.055em !important;
    }


    .bhs-orderflow-heading h2{
        font-size:38px !important;
        line-height:1.04 !important;

        letter-spacing:-.038em !important;
    }


    .bhs-orderflow-head>p{
        font-size:15px !important;
        line-height:1.7 !important;
    }


    .bhs-orderflow-current{
        font-size:13px !important;
    }


    .bhs-orderflow-copy>span{
        font-size:13px !important;
    }


    .bhs-orderflow-copy h3{
        font-size:23px !important;
    }


    .bhs-orderflow-copy p{
        max-width:none;

        font-size:14px !important;
        line-height:1.7 !important;
    }


    .bhs-orderflow-bottom-copy strong{
        font-size:15px !important;
    }


    .bhs-orderflow-bottom-copy p{
        font-size:14px !important;
    }


    .bhs-orderflow-button{
        font-size:14px !important;
    }



    /* ---------------------------------------------
       CTA
    --------------------------------------------- */

    .bhs-global-cta-kicker{
        font-size:13px !important;
    }


    .bhs-global-cta-copy h2{
        font-size:39px !important;
        line-height:1.04 !important;

        letter-spacing:-.038em !important;
    }


    .bhs-global-cta-copy p{
        font-size:15px !important;
        line-height:1.7 !important;
    }


    .bhs-global-cta-button,
    .bhs-global-cta-button span{
        font-size:14px !important;
    }


    .bhs-global-cta-phone-copy small{
        font-size:13px !important;
    }


    .bhs-global-cta-phone-copy strong{
        font-size:17px !important;
    }



    /* ---------------------------------------------
       FOOTER
    --------------------------------------------- */

    .bhs-footer-brand p{
        font-size:14px !important;
        line-height:1.7 !important;
    }


    .bhs-footer-title{
        margin-bottom:15px;

        font-size:13px !important;
    }


    .bhs-footer-links>a{
        min-height:40px;

        font-size:15px !important;
    }


    .bhs-footer-contact-item small{
        font-size:13px !important;
    }


    .bhs-footer-contact-item strong{
        font-size:14px !important;
    }


    .bhs-footer-address p{
        font-size:14px !important;
    }


    .bhs-footer-location-link{
        font-size:14px !important;
    }


    .bhs-footer-bottom>p,
    .bhs-footer-bottom-links a,
    .bhs-footer-top{
        font-size:14px !important;
    }

}

/* ==========================================================
   BHS SITEWIDE TYPOGRAPHY FOUNDATION
   Readability normalization for all pages
========================================================== */

html{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
}

body{
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
}

/* Keep regular copy natural and readable without changing the loaded site font. */
[class^="bhs-"] p,
[class*=" bhs-"] p{
    font-weight:400;
}

/* Prevent long contact details and product names from breaking layouts. */
[class^="bhs-"] strong,
[class*=" bhs-"] strong,
[class^="bhs-"] a,
[class*=" bhs-"] a{
    overflow-wrap:anywhere;
}

/* Font Awesome must retain its own font family. */
.fa-solid,
.fas{
    font-family:"Font Awesome 6 Free" !important;
    font-weight:900 !important;
}

.fa-regular,
.far{
    font-family:"Font Awesome 6 Free" !important;
    font-weight:400 !important;
}

.fa-brands,
.fab{
    font-family:"Font Awesome 6 Brands" !important;
    font-weight:400 !important;
}

@media(max-width:600px){
    .bhs-topbar-wrap{
        display: none;
    }
}