/* Tablet and intermediate widths */
@media(max-width:1199px) {
    .bn-header {
        padding-inline:20px;
    }
    .bn-header-inner {
        gap:20px;
    }
    .bn-logo img {
        width:180px;
        height:auto;
    }
    .bn-menu {
        gap:16px;
    }
    .bn-menu a,.bn-menu summary,.bn-header-phone {
        font-size:16px;
    }
    .bn-products-4 {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .bn-container {
        width:calc(100% - 40px);
    }
    .bn-hero-image {
        width:160%;
    }
    h1 {
        font-size:46px;
    }
    .bn-related-grid {
        gap:25px;
    }
}

@media(max-width:1199px) {
    .bn-header {
        position:relative;
        min-height:124px;
        padding:20px;
        display:flex;
        align-items:center;
        background:var(--muted);
    }
    .bn-page--dark-hero .bn-header {
        position:absolute;
        background:transparent;
    }
    .bn-header-inner {
        flex-wrap:nowrap;
        padding:0;
        justify-content:space-between;
    }
    .bn-navigation {
        min-width:0;
    }
    .bn-menu {
        gap:clamp(10px,1.5vw,16px);
        justify-content:center;
    }
    .bn-hero-layout {
        min-height:auto;
        grid-template-columns:1fr;
    }
    .bn-hero-copy {
        padding:70px 0 45px;
    }
    .bn-hero-copy p {
        max-width:600px;
    }
    .bn-hero-image {
        position:static;
        clip-path:none;
        width:100%;
        max-width:100%;
        height:auto;
        max-height:650px;
        aspect-ratio:1.3;
        object-fit:cover;
        transform:none;
    }
    .bn-hero-image-wrap {
        position:static;
        width:100%;
        height:auto;
        overflow:hidden;
        transform:none;
    }
    .bn-features {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .bn-products {
        gap:30px;
    }
    .bn-delivery {
        grid-template-columns:minmax(0,1fr);
        gap:30px;
        padding-bottom:100px;
    }
    .bn-delivery-image {
        order:-1;
        width:min(560px,100%);
        margin-inline:auto;
    }
    .bn-related-heading h3 {
        width:100%;
    }
    .bn-related-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:50px 30px;
    }
    .bn-contacts {
        grid-template-columns:minmax(0,1fr);
        padding-block:90px;
    }
    .bn-map {
        width:100%;
        max-width:660px;
        margin-inline:auto;
    }
    .bn-service-hero {
        padding:124px 0 42px;
    }
    .bn-service-copy h1 {
        width:100%;
        font-size:52px;
    }
    .bn-service-copy {
        min-width:0;
        padding-inline:0;
    }
    .bn-service-copy p {
        width:100%;
    }
    .bn-company {
        grid-template-columns:minmax(0,380px) minmax(0,1fr);
        gap:35px;
        padding-left:0;
    }
    .bn-company>img {
        width:100%;
    }
    .bn-company h2 {
        font-size:30px;
    }
}

/* Mobile */
@media(max-width:760px) {
    h1 {
        font-size:30px;
    }
    h2 {
        font-size:32px;
    }
    h3 {
        font-size:26px;
    }
    .bn-hero-copy {
        width:100%;
        height:auto;
        margin:0;
        padding:60px 20px 20px;
        display:block;
    }
    .bn-hero-layout {
        width:100%;
        margin-inline:0;
    }
    .bn-hero-copy h1 {
        margin-bottom:20px;
        font-size:30px;
        line-height:1.23;
    }
    .bn-hero-copy p {
        margin-bottom:35px;
        font-size:20px;
        line-height:1.45;
    }
    .bn-hero-copy .bn-button {
        width:100%;
        padding-inline:30px;
    }
    .bn-hero-image {
        position:static;
        width:100%;
        max-width:100%;
        height:auto;
        aspect-ratio:1;
        transform:none;
    }
    .bn-hero-image-wrap {
        position:static;
        width:100%;
        height:auto;
        overflow:hidden;
        transform:none;
    }
    .bn-section {
        width:100%;
        margin-inline:0;
        padding:45px 0 0;
    }
    .bn-features {
        grid-template-columns:1fr;
        gap:0;
    }
    .bn-section .bn-feature {
        padding-inline:20px;
        margin-bottom:40px;
    }
    .bn-feature-title p {
        font-size:14px;
        line-height:18.9px;
    }
    .bn-feature-body {
        font-size:12px;
        line-height:17.4px;
    }
    .bn-section-heading {
        height:auto;
        padding:0;
    }
    .bn-section-heading .bn-container {
        width:335px;
        height:auto;
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:0;
    }
    .bn-section-heading p:last-child {
        position:static;
        width:300px;
        max-width:none;
        transform:none;
        font-size:16px;
        line-height:23px;
    }
    .bn-section-heading p:first-child {
        position:static;
        width:300px;
        height:32px;
        margin-bottom:25px;
        transform:none;
        font-size:10px;
        line-height:16px;
        letter-spacing:2px;
    }
    .bn-section-heading h2 {
        position:static;
        width:300px;
        margin-bottom:25px;
        transform:none;
        font-size:30px;
        line-height:37px;
    }
    .bn-section-heading .bn-accent-line {
        position:static;
        margin:0 auto 25px;
        transform:none;
    }
    .bn-products,.bn-products-2,.bn-products-4 {
        grid-template-columns:1fr;
        width:100%;
        margin-inline:0;
        padding:45px 0 70px;
        gap:45px;
    }
    .bn-product {
        padding-inline:20px;
    }
    .bn-card-title {
        font-size:22px;
        line-height:27.06px;
    }
    .bn-product-body {
        margin-bottom:0;
        padding-bottom:0;
        font-size:12px;
        line-height:17.4px;
    }
    .bn-product>img {
        height:auto;
        aspect-ratio:13 / 12;
        margin-bottom:20px;
    }
    .bn-products-1 .bn-product>img,
    .bn-products-2 .bn-product>img {
        aspect-ratio:7 / 3;
    }
    .bn-products-3 .bn-product>img {
        aspect-ratio:3 / 2;
    }
    .bn-products-no-bottom {
        padding-bottom:25px;
    }
    .bn-cta {
        padding:75px 0 95px;
    }
    .bn-cta .bn-container {
        min-height:0;
        grid-template-columns:1fr;
        gap:20px;
    }
    .bn-cta p {
        font-size:26px;
        line-height:37.7px;
    }
    .bn-cta a {
        justify-self:center;
        padding:15.8px 30px;
        font-size:16px;
        line-height:22.4px;
    }
    .bn-delivery-heading {
        height:auto;
        padding:0;
    }
    .bn-delivery-heading .bn-container {
        padding-top:80px;
    }
    .bn-delivery-heading h2 {
        position:static;
        width:min(320px,100%);
        margin-bottom:44px;
        font-size:28px;
        line-height:34px;
    }
    .bn-delivery-heading-large h2 {
        font-size:30px;
        line-height:37px;
    }
    .bn-delivery-heading .bn-accent-line {
        position:static;
        margin:0 auto 40px;
    }
    .bn-delivery {
        grid-template-columns:1fr;
        width:100%;
        margin-inline:0;
        padding:0 20px 60px;
        gap:75px;
    }
    .bn-delivery-image {
        order:-1;
        width:min(335px,100%);
        height:335px;
        max-height:380px;
        object-fit:cover;
    }
    .bn-delivery-details {
        gap:50px;
    }
    .bn-delivery .bn-feature-title p {
        font-size:26px;
        line-height:30.42px;
    }
    .bn-delivery .bn-feature-body {
        font-size:12px;
        line-height:17.4px;
    }
    .bn-related-heading {
        padding:60px 0 30px;
    }
    .bn-related-heading h3 {
        width:335px;
        font-size:24px;
        line-height:28.08px;
    }
    .bn-related {
        padding-bottom:0;
    }
    .bn-related-grid {
        width:355px;
        grid-template-columns:1fr;
        gap:60px;
    }
    .bn-service-card {
        padding:10px 10px 0;
    }
    .bn-service-card:last-child {
        padding-bottom:60px;
    }
    .bn-service-card img {
        aspect-ratio:1.3;
        margin-bottom:20px;
    }
    .bn-service-card p.bn-card-title {
        font-size:20px;
        line-height:27px;
    }
    .bn-service-card p {
        font-size:14px;
        line-height:20.3px;
    }
    .bn-service-card .bn-button {
        min-height:50px;
        margin:19px 4px 8px 0;
        padding:14.2px 20px;
    }
    .bn-contacts {
        grid-template-columns:1fr;
        width:100%;
        margin-inline:0;
        padding:60px 20px 90px;
        gap:30px;
    }
    .bn-contact-info {
        padding-inline:20px;
    }
    .bn-contacts p.bn-card-title {
        margin-bottom:24px;
        font-size:24px;
        line-height:28.08px;
    }
    .bn-contacts .bn-contact-text {
        font-size:16px;
        line-height:23.2px;
    }
    .bn-map {
        width:min(335px,calc(100vw - 40px));
        height:300px;
        min-height:300px;
    }
    .bn-footer {
        padding-inline:20px;
    }
    .bn-footer p {
        font-size:14px;
    }
    .bn-service-hero {
        padding:124px 0 42px;
    }
    .bn-service-copy {
        width:min(335px,calc(100vw - 40px));
        padding:42px 0;
    }
    .bn-service-copy h1 {
        width:100%;
        font-size:30px;
        line-height:36.9px;
    }
    .bn-service-copy p {
        width:100%;
        font-size:20px;
        line-height:29px;
    }
    .bn-actions {
        flex-wrap:wrap;
    }
    .bn-actions .bn-button {
        padding:18.8px 30px;
    }
    .bn-service-heading {
        padding-top:105px;
    }
    .bn-service-heading-no-eyebrow {
        padding-top:114.2px;
    }
    .bn-service-heading .bn-eyebrow {
        margin-bottom:20.8px;
    }
    .bn-service-heading p {
        font-size:20px;
        line-height:29px;
    }
    .bn-service-heading h2,.bn-service-heading h3 {
        padding:8px 0 3px;
        font-size:30px;
        line-height:36.9px;
    }
    .bn-service-pricing {
        padding:60px 20px 90px;
    }
    .bn-service-price-card>div {
        padding:27px 30px;
    }
    .bn-service-price-card .bn-card-title {
        font-size:16px;
        line-height:21.6px;
    }
    .bn-service-price-card>div>div {
        font-size:12px;
        line-height:18.6px;
        padding-bottom:18.82px;
    }
    .bn-service-contacts a:first-child {
        font-size:18px;
        line-height:26.1px;
    }
    .bn-service-contacts a:last-child {
        font-size:22px;
        line-height:31.9px;
    }
    .bn-service-contacts {
        width:min(335px,calc(100vw - 40px));
        margin:60px 0 90px;
    }
    .bn-company {
        width:min(335px,calc(100vw - 40px));
        grid-template-columns:1fr;
        gap:30px;
        padding:75px 0 90px;
        padding-left:0;
    }
    .bn-company>img {
        width:100%;
        height:134px;
        max-height:none;
        margin:auto;
    }
    .bn-company>div {
        padding-inline:31px;
    }
    .bn-company h2 {
        font-size:24px;
        line-height:28.08px;
    }
    .bn-company p {
        padding-bottom:5px;
        font-size:14px;
        line-height:20.3px;
    }
    .bn-company .bn-button {
        min-height:50px;
        padding:14.2px 20px;
        margin:10px 0 41px;
    }
    .bn-social-heading {
        padding:90px 0 30px;
        font-size:20px;
        line-height:29px;
    }
    .bn-gallery {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .bn-dialog {
        padding:20px;
    }
    .bn-back-top {
        right:40px;
        bottom:40px;
    }
}

/* Responsive header phone */
@media(max-width:959px) {
    .bn-header-phone {
        display:none;
    }
}

/* Small mobile */
@media(max-width:639px) {
    .bn-header {
        display:flex;
        height:70px;
        min-height:70px;
        padding:10px clamp(8px,2.5vw,12px);
        align-items:center;
    }
    .bn-header-inner {
        min-height:50px;
        flex-direction:row;
        flex-wrap:nowrap;
        justify-content:space-between;
        gap:clamp(6px,2vw,10px);
    }
    .bn-service-hero {
        padding-top:70px;
    }
    .bn-logo img {
        width:clamp(82px,25.6vw,100px);
        height:auto;
    }
    .bn-navigation {
        flex:1;
        width:auto;
        min-width:0;
        margin:0;
    }
    .bn-menu {
        width:100%;
        flex-direction:row;
        justify-content:space-between;
        gap:clamp(3px,1vw,5px);
        padding:0;
    }
    .bn-menu a,.bn-menu summary {
        display:block;
        padding:0;
        font-size:clamp(11px,3.08vw,12px);
    }
    .bn-more {
        width:auto;
    }
    .bn-submenu {
        position:absolute;
        right:0;
        top:calc(100% + 8px);
        width:min(310px,calc(100vw - 20px));
        padding:10px;
        margin:0;
    }
    .bn-submenu a {
        font-size:16px;
        padding:10px;
    }
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
    * {
        transition:none!important;
    }
}

