/* ============================================================
   NRN DIGITAL
   RESPONSIVE
   ============================================================ */

@media (max-width:1100px){

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

    .hero-grid{
        gap:30px;
    }

    .main-nav > a{
        padding-left:7px;
        padding-right:7px;
    }

}


@media (max-width:900px){

.language-switch{
    margin:
        8px 0;

    padding:10px;

    justify-content:flex-start;

    border:0;
    border-top:
        1px solid rgba(255,255,255,.08);

    border-bottom:
        1px solid rgba(255,255,255,.08);
}    

    .site-header,
    .site-header.scrolled{
        height:70px;
    }

    .mobile-menu-btn{
        display:block;
    }

    .main-nav{
        position:absolute;

        top:70px;
        left:20px;
        right:20px;

        display:none;
        flex-direction:column;
        align-items:stretch;

        padding:15px;

        border-radius:12px;

        background:#071a33;

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

    .main-nav.open{
        display:flex;
    }

.main-nav > a{
    padding:12px 15px;

    border-radius:7px;

    transition:
        color .2s ease,
        background-color .2s ease;
}

.main-nav > a:not(.nav-contact):hover{
    transform:none;

    background:
        rgba(255,255,255,.05);
}

.main-nav > a:not(.nav-contact).active{
    padding-left:19px;

    color:#fff;

    background:
        rgba(242,140,24,.10);

    box-shadow:
        inset 3px 0 0 var(--orange);
}

    .main-nav > a::after{
        display:none;
    }

    .main-nav .nav-contact{
        margin:5px 0 0;
        text-align:center;
    }


    .hero{
        padding:
            125px 0 80px;

        min-height:auto;
    }

.hero-grid{
    grid-template-columns:1fr;

    align-items:center;
}

.hero-content{
    min-height:0;

    padding-top:0;

    text-align:center;
}

    .hero-description{
        margin-left:auto;
        margin-right:auto;
    }

    .hero-actions,
    .hero-mini{
        justify-content:center;
    }

    .tech-visual{
        min-height:420px;
         align-self:center;
    }


    .product-showcase,
    .website-intro,
    .consulting-grid{
        grid-template-columns:1fr;
    }

    .vision-grid{
        grid-template-columns:1fr;
    }

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

}


@media (max-width:700px){

    .section{
        padding:70px 0;
    }

    .solutions-grid,
    .hardware-grid{
        grid-template-columns:
            repeat(2,1fr);
    }

    .package-preview{
        grid-template-columns:1fr;
    }

    .package-mini.featured{
        transform:none;
    }

    .consulting-services{
        grid-template-columns:1fr;
    }

    .cta-box{
        padding:35px 25px;

        flex-direction:column;

        align-items:flex-start;
    }

}


@media (max-width:520px){

    .container,
    .nav-container,
    .footer-container{
        width:
            calc(100% - 30px);
    }

.brand-text span{
    display:block;
    margin-top:3px;
    font-size:6px;
    line-height:1;
    letter-spacing:1.1px;
    white-space:nowrap;
}

/* Mobile Brand - keep desktop proportions */

.brand-logo-img{
    width:40px;
}

.brand{
    gap:12px;
}

.brand-text strong{
    font-size:15px;
    line-height:1;
    letter-spacing:1.2px;
}

.brand-text strong .brand-title-r{
    font-size:inherit;
    line-height:inherit;
    letter-spacing:inherit;
}

.brand-text span{
    display:block;
    margin-top:4px;

    font-size:6px;
    line-height:1;
    letter-spacing:1.65px;

    white-space:nowrap;
}

    .hero h1{
        font-size:43px;
    }

    .hero-description{
        font-size:15px;
    }

    .hero-actions{
        flex-direction:column;
    }

    .hero-actions .btn{
        width:100%;
    }

.tech-visual{
    transform:scale(.78);

    margin:
        -40px -25px;
}

    .solutions-grid,
    .hardware-grid{
        grid-template-columns:1fr;
    }

    .solution-card{
        min-height:230px;
    }

    .fake-stat-grid{
        grid-template-columns:1fr;
    }

    .fake-stat{
        height:40px;
    }

    .screen-body{
        height:310px;
    }

    .software-screen{
        min-height:395px;
    }

    .footer-grid{
        grid-template-columns:1fr;

        gap:30px;
    }

    .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
    }

}

/* ============================================================
   WEBSITE SOLUTIONS RESPONSIVE
   ============================================================ */

@media (max-width:1000px){

    .sub-hero-grid{
        grid-template-columns:1fr;
    }

    .browser-visual{
        max-width:700px;
        margin:auto;
    }

    .web-benefit-grid{
        grid-template-columns:
            repeat(2,1fr);
    }

    .website-package-grid,
    .package-full-grid{
        grid-template-columns:
            repeat(2,1fr);
    }

}


@media (max-width:700px){

    .sub-hero{
        padding:
            125px 0
            70px;
    }

    .sub-hero-content{
        text-align:center;
    }

    .sub-hero-content p{
        margin-left:auto;
        margin-right:auto;
    }

    .sub-hero-content .hero-actions{
        justify-content:center;
    }

    .browser-window{
        transform:none;
    }

    .float-responsive{
        left:10px;
        bottom:20px;
    }

    .float-performance{
        right:10px;
        top:20px;
    }

    .web-benefit-grid,
    .website-package-grid,
    .package-full-grid,
    .web-process{
        grid-template-columns:1fr;
    }

    .package-page-hero{
        padding:
            125px 0
            65px;
    }

    .package-note{
        grid-template-columns:1fr;

        padding:30px;
    }

}


@media (max-width:520px){

    .sub-hero-content h1{
        font-size:38px;
    }

    .browser-visual{
        min-height:330px;
    }

    .browser-page{
        min-height:250px;
    }

    .browser-image{
        height:140px;
    }

    .website-float{
        display:none;
    }

    .web-benefit-card{
        min-height:auto;
    }

    .website-package-card{
        min-height:auto;
    }

    .package-full-card{
        min-height:auto;
    }

}

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

@media (max-width:1100px){

    .software-process{
        grid-template-columns:
            repeat(4,1fr);
    }

    .software-process-item{
        border-bottom:
            1px solid var(--border);
    }

}


@media (max-width:950px){

    .software-hero-grid{
        grid-template-columns:1fr;
    }

    .software-hero-content{
        text-align:center;
    }

    .software-hero-content > p{
        margin-left:auto;
        margin-right:auto;
    }

    .software-hero-content
    .hero-actions{
        justify-content:center;
    }

    .software-network{
        max-width:600px;
        margin:auto;

        width:100%;
    }

    .software-intro-grid,
    .custom-software-grid{
        grid-template-columns:1fr;
    }

    .software-product-grid{
        grid-template-columns:
            repeat(2,1fr);
    }

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

}


@media (max-width:700px){

    .software-hero{
        min-height:auto;

        padding:
            125px 0
            70px;
    }

    .software-product-grid{
        grid-template-columns:1fr;
    }

    .software-process{
        grid-template-columns:
            repeat(2,1fr);
    }

}


@media (max-width:520px){

    .software-hero-content h1{
        font-size:39px;
    }

    .software-network{
        min-height:370px;

        transform:scale(.82);

        margin:
            -20px auto;
    }

    .software-product-card{
        min-height:390px;
    }

    .industry-grid{
        grid-template-columns:1fr;
    }

    .software-process{
        grid-template-columns:1fr;
    }

    .software-process-item{
        min-height:auto;

        border-right:0;

        padding:
            25px 5px;
    }

    .software-process-item > span{
        margin-bottom:10px;
    }

}

/* ============================================================
   PRODUCT DETAIL RESPONSIVE
   ============================================================ */

@media (max-width:950px){

    .product-detail-hero-grid,
    .product-overview-grid,
    .product-for-grid,
    .product-architecture-heading{
        grid-template-columns:1fr;
    }

    .product-system-visual{
        max-width:650px;

        width:100%;

        margin:auto;
    }

    .product-feature-grid,
    .implementation-grid{
        grid-template-columns:
            repeat(2,1fr);
    }

    .architecture-flow{
        grid-template-columns:
            1fr;
    }

    .architecture-arrow{
        text-align:center;

        transform:rotate(90deg);
    }

}


@media (max-width:650px){

    .product-detail-hero{
        padding:
            125px 0
            70px;
    }

    .product-detail-content{
        text-align:center;
    }

    .product-breadcrumb{
        text-align:left;
    }

    .product-detail-content > p{
        margin-left:auto;
        margin-right:auto;
    }

    .product-detail-content
    .hero-actions{
        justify-content:center;
    }

    .product-feature-grid,
    .implementation-grid{
        grid-template-columns:1fr;
    }

    .product-principles{
        grid-template-columns:1fr;
    }

    .system-window-body{
        padding:22px;
    }

}


@media (max-width:480px){

    .product-detail-content h1{
        font-size:40px;
    }

    .system-module-grid{
        grid-template-columns:1fr;
    }

}

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

@media (max-width:950px){

    .hardware-hero-grid,
    .hardware-detail-grid,
    .hardware-approach,
    .pos-solution-grid,
    .hardware-integration-grid{
        grid-template-columns:1fr;
    }

    .hardware-visual{
        max-width:600px;
        width:100%;
        margin:auto;
    }

    .hardware-product-grid{
        grid-template-columns:
            repeat(2,1fr);
    }

    .hardware-feature-grid{
        grid-template-columns:
            repeat(2,1fr);
    }

}


@media (max-width:700px){

    .hardware-hero,
    .hardware-detail-hero{
        padding:125px 0 70px;
    }

    .hardware-hero-content,
    .hardware-detail-content{
        text-align:center;
    }

    .hardware-detail-content
    .product-breadcrumb{
        text-align:left;
    }

    .hardware-hero-content > p,
    .hardware-detail-content > p{
        margin-left:auto;
        margin-right:auto;
    }

    .hardware-hero-content
    .hero-actions,
    .hardware-detail-content
    .hero-actions{
        justify-content:center;
    }

    .hardware-product-grid,
    .hardware-feature-grid{
        grid-template-columns:1fr;
    }

    .hardware-process-grid{
        grid-template-columns:
            repeat(2,1fr);
    }

    .hardware-integration-flow{
        flex-direction:column;
    }

    .hardware-integration-flow > div{
        width:100%;
    }

    .hardware-integration-flow b{
        transform:rotate(90deg);
    }

    .hardware-note{
        grid-template-columns:1fr;
    }

}


@media (max-width:520px){

    .hardware-hero-content h1,
    .hardware-detail-content h1{
        font-size:39px;
    }

    .hardware-visual{
        min-height:370px;

        transform:scale(.88);

        margin:-15px auto;
    }

    .hardware-product-card{
        min-height:370px;
    }

    .hardware-process-grid{
        grid-template-columns:1fr;
    }

    .hardware-process-item{
        min-height:auto;

        border-right:0;

        border-bottom:
            1px solid rgba(255,255,255,.10);
    }

    .hardware-process-item > span{
        margin-bottom:15px;
    }

    .hardware-detail-device{
        width:100%;
        min-height:330px;
    }

    .hardware-note{
        padding:28px;
    }

}

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

@media (max-width:1050px){

    .consulting-service-grid,
    .consulting-engagement-grid,
    .consulting-principles{
        grid-template-columns:
            repeat(2,1fr);
    }

}


@media (max-width:950px){

    .consulting-hero-grid,
    .consulting-intro-grid,
    .consulting-flow-heading,
    .consulting-client-grid{
        grid-template-columns:1fr;
    }

    .consulting-visual{
        max-width:600px;

        width:100%;

        margin:auto;
    }

    .consulting-flow{
        grid-template-columns:1fr;
    }

    .consulting-flow > b{
        text-align:center;

        transform:rotate(90deg);
    }

}


@media (max-width:700px){

    .consulting-hero{
        padding:125px 0 70px;
    }

    .consulting-hero-content{
        text-align:center;
    }

    .consulting-hero-content > p{
        margin-left:auto;
        margin-right:auto;
    }

    .consulting-hero-content
    .hero-actions{
        justify-content:center;
    }

}


@media (max-width:560px){

    .consulting-hero-content h1{
        font-size:39px;
    }

    .consulting-visual{
        min-height:390px;

        transform:scale(.80);

        margin:-20px auto;
    }

    .consulting-service-grid,
    .consulting-engagement-grid,
    .consulting-principles{
        grid-template-columns:1fr;
    }

    .consulting-service-card{
        min-height:250px;
    }

    .consulting-service-card > span{
        margin-bottom:35px;
    }

    .consulting-engagement-card{
        min-height:280px;
    }

    .engagement-number{
        margin-bottom:45px;
    }

    .consulting-principle{
        min-height:auto;
    }

    .consulting-principle span{
        margin-bottom:25px;
    }

}

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

@media (max-width:950px){

    .support-hero-grid,
    .support-intro-grid,
    .support-process-heading,
    .support-prepare-grid,
    .support-portal-box{
        grid-template-columns:1fr;
    }

    .support-console{
        max-width:650px;
        width:100%;
        margin:auto;
    }

    .support-service-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .support-process-flow{
        grid-template-columns:1fr;
    }

    .support-process-flow > b{
        text-align:center;
        transform:rotate(90deg);
    }

}


@media (max-width:700px){

    .support-hero{
        padding:125px 0 70px;
    }

    .support-hero-content{
        text-align:center;
    }

    .support-hero-content > p{
        margin-left:auto;
        margin-right:auto;
    }

    .support-hero-content .hero-actions{
        justify-content:center;
    }

    .support-service-grid{
        grid-template-columns:1fr;
    }

    .support-portal-box{
        padding:30px;
    }

}


@media (max-width:520px){

    .support-hero-content h1{
        font-size:39px;
    }

    .support-console-body{
        padding:22px;
    }

    .support-console-grid{
        grid-template-columns:1fr;
    }

    .support-service-card{
        min-height:245px;
    }

    .support-service-top{
        margin-bottom:35px;
    }

    .support-portal-box{
        padding:22px;
    }

    .support-faq-item summary{
        grid-template-columns:35px 1fr 25px;
    }

    .support-faq-answer{
        padding:
            0 30px
            22px 40px;
    }

}

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

@media (max-width:1050px){

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

}


@media (max-width:950px){

    .about-hero-grid,
    .about-story-grid,
    .about-company-grid,
    .about-approach-heading,
    .about-ecosystem-grid{
        grid-template-columns:1fr;
    }

    .about-identity{
        max-width:450px;
        width:100%;
    }

    .about-capability-grid{
        grid-template-columns:
            repeat(2,1fr);
    }

    .about-approach-flow{
        grid-template-columns:1fr;
    }

    .about-approach-flow > b{
        text-align:center;
        transform:rotate(90deg);
    }

}


@media (max-width:700px){

    .about-hero{
        padding:125px 0 70px;
    }

    .about-hero-content{
        text-align:center;
    }

    .about-hero-content > p{
        margin-left:auto;
        margin-right:auto;
    }

    .about-hero-content .hero-actions{
        justify-content:center;
    }

    .about-direction-grid,
    .about-capability-grid{
        grid-template-columns:1fr;
    }

    .about-values-grid{
        grid-template-columns:
            repeat(2,1fr);
    }

    .about-company-row{
        grid-template-columns:1fr;
        gap:5px;
    }

}


@media (max-width:520px){

    .about-hero-content h1{
        font-size:39px;
    }

    .about-identity{
        height:390px;
        transform:scale(.80);
        margin:-20px auto;
    }

    .about-company-name strong{
        font-size:58px;
    }

    .about-direction-card{
        min-height:320px;
        padding:28px;
    }

    .about-direction-card h3{
        font-size:20px;
    }

    .about-values-grid{
        grid-template-columns:1fr;
    }

    .about-value-card{
        min-height:auto;
    }

    .about-value-card > span{
        margin-bottom:25px;
    }

}

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

@media (max-width:950px){

    .contact-hero-grid,
    .contact-main-grid{
        grid-template-columns:1fr;
    }

    .contact-visual{
        max-width:650px;
        width:100%;
        margin:auto;
    }

    .contact-information{
        position:static;
    }

    .contact-next-grid{
        grid-template-columns:
            repeat(2,1fr);
    }

}


@media (max-width:700px){

    .contact-hero{
        padding:125px 0 70px;
    }

    .contact-hero-content{
        text-align:center;
    }

    .contact-hero-content > p{
        margin-left:auto;
        margin-right:auto;
    }

    .contact-hero-points{
        justify-content:center;
        flex-wrap:wrap;
    }

    .form-grid{
        grid-template-columns:1fr;
    }

    .form-group-full{
        grid-column:auto;
    }

    .contact-form-panel{
        padding:28px;
    }

    .contact-form-heading{
        flex-direction:column;
    }

    .contact-form-action{
        align-items:stretch;
        flex-direction:column;
    }

    .contact-form-action .btn{
        width:100%;
    }

}


@media (max-width:520px){

    .contact-hero-content h1{
        font-size:39px;
    }

    .contact-hero-points{
        display:grid;
        grid-template-columns:1fr;
    }

    .contact-hero-points > div{
        min-width:0;
    }

    .contact-form-panel{
        padding:22px;
    }

    .contact-methods{
        display:grid;
        grid-template-columns:1fr;
    }

    .contact-method span{
        width:100%;
    }

    .contact-next-grid{
        grid-template-columns:1fr;
    }

    .contact-next-card{
        min-height:auto;
    }

    .contact-next-card span{
        margin-bottom:25px;
    }

    .inquiry-modal{
        padding:12px;
    }

    .inquiry-modal-dialog{
        padding:27px 20px;
    }

    .inquiry-review-row{
        grid-template-columns:1fr;
        gap:4px;
    }

    .inquiry-modal-actions{
        flex-direction:column;
    }

    .inquiry-modal-actions .btn{
        width:100%;
    }

}

/* ============================================================
   CTA - TABLET / MOBILE
   ============================================================ */

@media (max-width:900px){

    .cta-section{
        padding:45px 0;
    }

    .cta-box{
        grid-template-columns:1fr;

        min-height:390px;

        padding:
            30px
            28px;

        gap:0;

        align-items:start;
    }


    /* ----------------------------
       CONTENT
       ---------------------------- */

    .cta-content{
        position:relative;

        z-index:5;

        max-width:100%;

        padding:0;
    }

    .cta-content h2{
        max-width:500px;

        margin-bottom:10px;

        font-size:24px;
        line-height:1.4;
    }

    .cta-content p{
        max-width:500px;

        font-size:13px;
        line-height:1.7;
    }


    /* ----------------------------
       BUTTON
       ---------------------------- */

    .cta-action{
        position:relative;

        z-index:6;

        justify-content:flex-start;

        margin-top:20px;

        order:2;
    }


    /* ----------------------------
       STAFF IMAGE
       ---------------------------- */

    .cta-support-visual{
        position:absolute;

        right:0;
        bottom:0;

        width:58%;
        height:235px;

        min-height:0;

        z-index:3;

        pointer-events:none;
    }

    .cta-support-visual::before{
        width:220px;
        height:220px;

        left:55%;
        top:55%;
    }

    .cta-support-visual img{
        left:auto;
        right:-10px;
        bottom:-20px;

        width:245px;
        max-width:none;

        transform:none;
    }

}

/* ============================================================
   CTA - MOBILE
   ============================================================ */

@media (max-width:600px){

    .cta-section{
        padding:35px 0;
    }

    .cta-box{
        min-height:370px;

        padding:
            27px
            24px;

        border-radius:18px;
    }

    .cta-content h2{
        max-width:290px;

        font-size:22px;
        line-height:1.42;
    }

    .cta-content p{
        max-width:290px;

        font-size:12px;
        line-height:1.65;
    }

    .cta-action{
        position:absolute;

        left:24px;
        top:165px;

        z-index:6;

        margin:0;

        justify-content:flex-start;
    }

    .cta-box .btn{
        padding:
            13px
            20px;

        font-size:12px;
    }

    .cta-support-visual{
        right:0;
        bottom:0;

        width:65%;
        height:220px;
    }

    .cta-support-visual img{
        right:-12px;
        bottom:-1px;

        width:225px;
    }

}


/* ============================================================
   DOMAIN CHECKER RESPONSIVE
   ============================================================ */

@media (max-width: 700px) {
    .nrn-domain-section {
        padding: 10px 0 65px;
    }

    .domain-check-box {
        padding: 35px 25px;
        border-radius: 18px;
    }

    .domain-check-form {
        flex-wrap: wrap;
    }

    .domain-check-form input {
        width: 70%;
        flex: 1;
    }

    .domain-check-btn {
        width: 100%;
        margin-top: 5px;
    }
}

@media (max-width: 420px) {
    .domain-check-box {
        padding: 30px 18px;
    }

    .domain-check-form input {
        padding: 12px 10px;
        font-size: 14px;
    }

    .domain-tld {
        padding: 0 10px;
        font-size: 15px;
    }
}


/* ============================================================
   MULTI DOMAIN RESULTS - MOBILE
   ============================================================ */

@media (max-width: 600px) {

    .domain-result-row {
        padding: 12px;
        gap: 8px;
    }

    .domain-result-name {
        font-size: 13px;
    }

    .domain-result-status {
        font-size: 11px;
    }

    .domain-check-form input {
        min-width: 0;
        width: 100%;
    }

    .domain-results-heading {
        font-size: 15px;
    }
}

@media (max-width: 380px) {

    .domain-result-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .domain-result-status {
        text-align: left;
    }
}