@media (max-width: 991px) {

    #navbar {
        top: 12px;
        left: 10px;
        right: 10px;
        padding: 8px 14px;
    }

    .nav-pill-wrap {
        background: transparent;
        border: none;
        border-radius: 0;
        padding: 8px 0;
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
        margin-top: 8px;
    }

    .navbar-collapse {
        background: var(--harbor-dark-700);
        border: 1px solid rgba(255, 255, 255, .08);
        border-radius: 14px;
        padding: 10px;
        margin-top: 10px;
    }

    .navbar .nav-link {
        font-size: 15px;
        padding: 10px 14px !important;
        border-radius: 10px;
        justify-content: space-between;
    }

    .navbar .nav-link:hover {
        background: rgba(255, 255, 255, .04);
    }

    /* ── Mobile Dropdown ── */
    .custom-dropdown {
        position: static !important;
        transform: none !important;
        width: 100% !important;
        border-radius: 12px;
        box-shadow: none;
        margin-top: 4px;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: all !important;
        border: 1px solid rgba(255, 255, 255, .06);
        display: none;
    }

    .custom-dropdown::before {
        display: none;
    }

    .nav-item.dropdown.show .custom-dropdown {
        display: block;
    }

    /* ── dd-body stacks vertically ── */
    .dd-body {
        flex-direction: column;
    }

    /* ── Sidebar: vertical stack from the start ── */
    .dd-sidebar {
        flex-direction: column;
        width: 100%;
        padding: 10px;
        gap: 3px;
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, .06);
        background: var(--harbor-dark-800);
        overflow-x: unset;
    }

    .dd-tab {
        flex-direction: row;
        align-items: center;
        text-align: left;
        padding: 10px 14px;
        gap: 11px;
        border-radius: 9px;
        white-space: normal;
        flex-shrink: unset;
    }

    /* active indicator: left bar */
    .dd-tab.active::after {
        top: 0;
        bottom: 0;
        left: 0;
        right: auto;
        width: 2px;
        height: 100%;
        border-radius: 0 2px 2px 0;
    }

    .dd-tab-icon {
        width: 38px;
        height: 38px;
        border-radius: 8px;
        flex-shrink: 0;
    }

    .dd-tab-icon img {
        width: 24px;
        height: 24px;
    }

    .dd-tab-text {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        flex: 1;
        gap: 8px;
    }

    .dd-tab-name {
        font-size: 13px;
    }

    /* product count as a badge */
    .dd-tab-count {
        display: inline-block;
        font-size: 10.5px;
        color: var(--harbor-dark-300);
        background: rgba(255, 255, 255, .05);
        border: 1px solid rgba(255, 255, 255, .07);
        border-radius: 20px;
        padding: 1px 8px;
        flex-shrink: 0;
    }

    .dd-tab-divider {
        display: none;
    }

    /* ── Content area ── */
    .dd-content {
        padding: 16px 14px 10px;
    }

    .dd-grid {
        grid-template-columns: 1fr;
        gap: 3px;
    }

    .dd-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        padding: 12px 14px;
    }

    .nav-cta {
        display: none;
    }

    /* --------------------------------------------- HERO SECTION ---------------------------------- */
    .hero {
        height: 100vh;
    }

    .hero-content {
        padding: 140px 30px 70px;
    }

    .hero-heading {
        font-size: 46px;
    }

    .hero-heading span {
        font-size: 56px;
    }

    .hero-subtext {
        max-width: 100%;
    }

    .hero .col-lg-5 {
        display: none !important;
    }

    /* ------------------------------------------------------------- BRAND STRIP */
    .brand-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .brand-slider {
        width: 100%;
    }


    /* -------------------------------------------------------------------------- PROCESS */
    .process-section {
        flex-direction: column;
        gap: 50px;
    }

    .sticky-left {
        position: static;
        width: 100%;
    }

    .scroll-right {
        width: 100%;
    }

    .process-card:hover {
        transform: none;
    }

    /* ----------------------------------------------------------------------- SOLUTION SECTION */
    .solutions-section {
        padding: 70px 0;
    }

    .solutions-section.row {
        flex-direction: column;
    }

    .sol-image-col {
        margin-top: 40px;
    }

    .sol-stat-float {
        left: 10px;
        top: 10px;
    }

    .sol-body {
        max-width: 100%;
    }

    /* ------------------------------------------------------------------------------------ GALLERY SECTION  */
    .dh-gallery-intro {
        padding: 40px 0px 25px;
    }

    .dh-gallery-intro__tag {
        padding: 4px 10px;
    }

    .dh-gallery-intro__title {
        font-size: 26px;
        line-height: 1.3;
    }

    .dh-gallery-intro__title .dh-red {
        font-size: 30px;
    }

    .dh-gallery-intro__sub {
        font-size: 13px;
        line-height: 1.6;
    }

    /* ----------------------------------------------------------------------------------------- SUPPORT SECTION */
    .ms-section {
        padding: 80px 0 60px;
    }

    .ms-top {
        flex-direction: column;
        gap: 25px;
    }

    .ms-headline {
        font-size: 38px;
    }

    .ms-headline .red {
        font-size: 44px;
    }

    /* ---------------------------------------------------------------------------------------- FEATURES SECTION */
    .features-section {
        padding: 70px 0;
    }

    .features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }

    .features-sec-title {
        font-size: 44px;
    }

    .features-sec-title .accent {
        font-size: 48px;
    }

    .features-sec-subtitle {
        font-size: 14px;
        max-width: 520px;
    }

    .feat-card {
        padding: 26px 20px;
    }

    /* ------------------------------------------------------------------- FAQS SECTION */
    .faq-left-inner {
        position: relative;
        top: 0;
    }

    .faq-left {
        margin-bottom: 40px;
    }

    .faq-premium {
        padding: 70px 0;
    }

    .faq-desc {
        font-size: 14px;
        margin-bottom: 30px;
    }

    .faq-card {
        padding: 20px;
    }

    /* ---------------------------------------------------------------------------- BLOGS SECTION */
    .blogs-premium {
        padding: 70px 0;
    }

    .blog-featured {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .bf-image img {
        height: 280px;
    }

    .bf-content h2 {
        font-size: 28px;
    }

    .bf-content p {
        font-size: 14px;
    }

    .blog-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    /* FOOTER  */

    .footer-cta {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .footer-cta-email {
        font-size: 44px;
    }

    .footer-main {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 40px 28px;
    }

    .footer-brand {
        grid-column: span 3;
        max-width: 420px;
    }

    .footer-brand-desc {
        max-width: 100%;
    }

    .breadcrumb-wrap {
        min-height: 380px;
        margin: 12px;
        border-radius: 22px;
    }

    .breadcrumb-content {
        padding: 120px 20px 70px;
    }

    .breadcrumb-title {
        font-size: 34px;
    }

    .breadcrumb-title span {
        font-size: 38px;
    }

    .breadcrumb-sub {
        font-size: 14px;
        max-width: 480px;
    }

    .breadcrumb-glow {
        width: 380px;
        height: 380px;
    }

    /* VALUES SECTION */
    .values-section {
        padding: 0 0 70px;
    }

    .about-card {
        min-height: 360px;
        padding: 36px 26px;
    }

    .about-card-icon-wrap img {
        width: 85px;
        height: 85px;
    }

    .about-card-label {
        font-size: 17px;
    }

    .reveal-text {
        font-size: 13px;
    }

    /* PRODUCTS PAGE */
    #gallery-sticky {
        position: relative;
        /* remove sticky */
        top: unset;
        margin-bottom: 40px;
    }

    .gallery-col {
        flex-direction: column;
    }

    .thumb-strip {
        flex-direction: row;
        order: 2;
        justify-content: center;
        margin-top: 12px;
    }

    .thumb {
        width: 64px;
        height: 64px;
    }

    .main-viewer {
        order: 1;
        min-height: 320px;
        margin-top: 10px;
    }

    .detail-col {
        padding-left: 0;
    }

    .product-section {
        padding: 60px 0;
    }

    /* GALLERY PAGE */

    .sg-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 22px;
    }

    .sg-card {
        height: 260px;
        border-radius: 16px;
    }

    .sg-section {
        padding: 70px 0;
    }

    .sg-grid:hover .sg-card:not(:hover) {
        transform: scale(0.98);
        filter: blur(1px) brightness(0.85);
    }

    /* CONTACT PAGE */
    .hb-wrap {
        grid-template-columns: 1fr;
    }

    .hb-right {
        border-left: none;
        border-top: 1px solid var(--harbor-dark-500);
    }

    .hb-left,
    .hb-right {
        padding: 32px 28px;
    }

    .hb-heading {
        font-size: 24px;
    }

    .hb-form-title {
        font-size: 20px;
    }
}

@media (max-width: 768px) {

    #navbar {
        top: 8px;
        left: 6px;
        right: 6px;
        padding: 8px 12px;
    }

    .navbar-brand img {
        width: 100px;
        height: 42px;
    }

    .navbar-collapse {
        border-radius: 12px;
        padding: 8px;
        margin-top: 8px;
    }

    .navbar .nav-link {
        font-size: 14px;
        padding: 9px 12px !important;
    }

    .dd-sidebar {
        padding: 8px;
    }

    .dd-tab {
        padding: 9px 12px;
        gap: 10px;
    }

    .dd-tab-icon {
        width: 34px;
        height: 34px;
    }

    .dd-tab-icon img {
        width: 20px;
        height: 20px;
    }

    .dd-tab-name {
        font-size: 12.5px;
    }

    .dd-content {
        padding: 14px 12px 8px;
    }

    .dd-item {
        padding: 9px 10px;
        gap: 10px;
    }

    .dd-item-icon {
        width: 40px;
        height: 40px;
    }

    .dd-item-icon img {
        width: 26px;
        height: 26px;
    }

    .dd-item-title {
        font-size: 13px;
    }

    .dd-item-sub {
        font-size: 11px;
    }

    .dd-footer {
        padding: 10px 12px;
    }

    /* --------------------------------------------- HERO SECTION ---------------------------------- */
    .hero {
        height: 95vh;
    }

    .hero-content {
        padding: 130px 20px 60px;
    }

    .hero-heading {
        font-size: 38px;
    }

    .hero-heading span {
        font-size: 46px;
    }

    .hero-subtext {
        font-size: 15px;
        max-width: 100%;
    }

    .hero-actions {
        gap: 12px;
    }

    /* ------------------------------------------------------------- BRAND */
    .brand-inner {
        flex-direction: column;
        gap: 25px;
    }

    .brand-text {
        font-size: 18px;
    }

    .brand-text span {
        font-size: 26px;
    }

    .brand-track {
        gap: 30px;
    }


    /* -------------------------------------------------------------- PROCESS */
    .process-section {
        flex-direction: column;
        gap: 40px;
    }

    .sticky-left {
        position: static;
    }

    .sticky-headline {
        font-size: 32px;
    }

    .sticky-headline .red {
        font-size: 42px;
    }

    .step-nav {
        flex-direction: row;
        overflow-x: auto;
        gap: 20px;
    }

    .step-nav-item {
        flex-shrink: 0;
    }

    .process-card {
        padding: 30px;
    }

    /* ----------------------------------------------------------------------- SOLUTIONS SECTION */
    .solutions-section {
        padding: 60px 0;
    }

    .solution-sec-title {
        font-size: 32px;
    }

    .solution-sec-title .red {
        font-size: 38px;
    }

    .filter-bar-wrap {
        justify-content: flex-start;
        overflow-x: auto;
    }

    .filter-bar {
        flex-wrap: nowrap;
    }

    .sol-image-col {
        margin-top: 30px;
    }

    .sol-body {
        max-width: 100%;
    }

    .sol-image-frame {
        aspect-ratio: 4/3;
    }

    .sol-stat-float {
        left: 0;
        top: auto;
        bottom: -20px;
    }

    /* ------------------------------------------------------------------------------------ GALLERY SECTION  */
    .dh-gallery-intro {
        padding: 50px 0px 30px;
    }

    .dh-gallery-intro__title {
        font-size: 32px;
    }

    .dh-gallery-intro__title .dh-red {
        font-size: 36px;
    }

    .dh-gallery-intro__sub {
        font-size: 14px;
    }

    /* ----------------------------------------------------------------------------------------- SUPPORT SECTION */
    .ms-headline {
        font-size: 30px;
        line-height: 1.2;
    }

    .ms-headline .red {
        font-size: 34px;
    }

    .ms-nav-btn {
        padding: 8px 16px;
        font-size: 12px;
    }

    .ms-col {
        padding: 18px;
    }

    .ms-card-inner {
        padding: 10px 14px;
        font-size: 12px;
    }

    .ms-card-icon {
        width: 24px;
        height: 24px;
    }

    .ms-card-icon svg {
        width: 12px;
        height: 12px;
    }

    /* ------------------------------------------------------------------------------------------------ FEATURES SECTION */
    .features-section {
        padding: 60px 0;
    }

    .section-inner {
        padding-left: 18px;
        padding-right: 18px;
    }

    .features-grid {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-top: 40px;
    }

    .features-sec-title {
        font-size: 30px;
        line-height: 1.2;
    }

    .features-sec-title .accent {
        font-size: 34px;
    }

    .features-sec-subtitle {
        font-size: 13.5px;
        max-width: 100%;
    }

    .feat-card {
        padding: 22px 18px;
        border-radius: 18px;
    }

    .feat-icon-wrap {
        width: 46px;
        height: 46px;
    }

    .feat-icon-wrap svg {
        width: 20px;
        height: 20px;
    }

    .feat-title {
        font-size: 15px;
    }

    .feat-desc {
        font-size: 12.5px;
    }

    .feat-link {
        opacity: 1;
        transform: none;
        margin-top: 16px;
    }

    /* ------------------------------------------------------------------- FAQS SECTION */
    .faq-premium {
        padding: 60px 0;
    }

    .faq-question {
        font-size: 15px;
    }

    .faq-answer {
        font-size: 13.5px;
    }

    .faq-card {
        border-radius: 16px;
    }

    /* ---------------------------------------------------------------- BLOGS SECTION */
    .blogs-premium {
        padding: 60px 0;
    }

    .ms-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .btn-17 {
        align-self: flex-start;
    }

    .bf-content h2 {
        font-size: 24px;
        line-height: 1.35;
    }

    .bf-content p {
        font-size: 13.5px;
    }

    .bf-footer {
        font-size: 12px;
    }

    .blog-grid {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .blog-img img {
        height: 160px;
    }

    /* FOOTER */

    .footer-cta {
        padding: 48px 0;
    }

    .footer-cta-email {
        font-size: 34px;
    }

    .footer-cta-btn {
        width: 100%;
        justify-content: center;
    }

    .footer-main {
        grid-template-columns: 1fr 1fr;
    }

    .footer-brand {
        grid-column: span 2;
    }

    .footer-logo img {
        width: 160px;
        height: auto;
    }

    .footer-col-title {
        font-size: 11px;
    }

    /* BREADCRUMB SECTION */
    .breadcrumb-wrap {
        min-height: 320px;
        border-radius: 18px;
    }

    .breadcrumb-content {
        padding: 100px 18px 60px;
    }

    .breadcrumb-title {
        font-size: 28px;
        line-height: 1.15;
    }

    .breadcrumb-title span {
        font-size: 32px;
    }

    .breadcrumb-sub {
        font-size: 13.5px;
        line-height: 1.6;
    }

    .breadcrumb-path {
        padding: 8px 16px;
        gap: 8px;
    }

    .breadcrumb-path a {
        font-size: 13px;
    }

    .breadcrumb-glow {
        width: 300px;
        height: 300px;
        filter: blur(70px);
    }

    /* VALUES SECTION */
    .values-section {
        padding: 0 0 60px;
    }

    .about-card {
        min-height: auto;
        padding: 32px 22px;
    }

    /* ðŸ”¥ Disable heavy hover shift for touch devices */
    .about-card:hover {
        transform: none;
    }

    .about-card:hover .about-card-icon-wrap {
        transform: none;
    }

    .about-card:hover .about-card-label {
        transform: none;
    }

    /* ðŸ”¥ Always show content (no hover dependency) */
    .about-card-reveal {
        max-height: none;
        opacity: 1;
        transform: none;
        pointer-events: auto;
        margin-top: 14px;
    }

    .reveal-rule {
        transform: scaleX(1);
        margin-top: 12px;
    }

    .about-card-icon-wrap img {
        width: 75px;
        height: 75px;
    }

    .about-card-label {
        font-size: 16px;
        margin-top: 18px;
    }

    .reveal-text {
        font-size: 13px;
        line-height: 1.6;
    }

    /* PRODUCT PAGE */
    .product-section {
        padding: 50px 0;
    }

    #gallery-sticky {
        margin-bottom: 35px;
    }

    .main-viewer {
        min-height: 280px;
        border-radius: 16px;
    }

    .thumb {
        width: 58px;
        height: 58px;
    }

    .product-title {
        font-size: 26px;
    }

    .product-desc {
        font-size: 14px;
        line-height: 1.7;
    }

    .spec-grid {
        grid-template-columns: 1fr;
        /* stack specs */
    }

    .feature-pills {
        gap: 6px;
    }

    .pill {
        font-size: 11.5px;
        padding: 6px 12px;
    }

    .btn-enquire {
        width: 100%;
        justify-content: center;
    }

    .cta-product-row {
        width: 100%;
    }

    /* GALLERY PAGE */

    .sg-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }

    .sg-card {
        height: 220px;
        border-radius: 14px;
    }

    .sg-section {
        padding: 60px 0;
    }

    /* disable heavy hover effect for touch devices */
    .sg-grid:hover .sg-card:not(:hover) {
        transform: none;
        filter: none;
    }

    .sg-card:hover {
        transform: scale(1.02);
        box-shadow: 0 10px 25px rgba(232, 35, 31, 0.2);
    }

    /* CONTACT PAGE */
    .contact-sec {
        padding: 60px 0;
    }

    .hb-left,
    .hb-right {
        padding: 28px 22px;
        gap: 24px;
    }

    .hb-grid2 {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .hb-heading {
        font-size: 22px;
        line-height: 1.35;
    }

    .hb-sub {
        font-size: 13px;
    }

    .hb-form-title {
        font-size: 19px;
    }

    .hb-contact-val {
        font-size: 12px;
    }

    .hb-submit {
        padding: 12px 20px;
        font-size: 13px;
    }

}

@media (max-width: 576px) {

    /* -------------------------------- NAVBAR SECTION -------------------------- */
    #navbar {
        top: 6px;
        left: 4px;
        right: 4px;
        padding: 6px 10px;
        border-radius: 12px;
    }

    .navbar-brand img {
        width: 90px;
        height: 38px;
    }

    .navbar-collapse {
        border-radius: 10px;
        padding: 6px;
        margin-top: 6px;
    }

    .navbar .nav-link {
        font-size: 13.5px;
        padding: 9px 10px !important;
        border-radius: 8px;
    }

    .custom-dropdown {
        border-radius: 10px;
    }

    .dd-sidebar {
        padding: 6px;
        gap: 2px;
    }

    .dd-tab {
        padding: 8px 10px;
        gap: 9px;
        border-radius: 8px;
    }

    .dd-tab-icon {
        width: 30px;
        height: 30px;
        border-radius: 7px;
    }

    .dd-tab-icon img {
        width: 18px;
        height: 18px;
    }

    .dd-tab-name {
        font-size: 12px;
        letter-spacing: .1px;
    }

    .dd-tab-count {
        font-size: 10px;
        padding: 1px 7px;
    }

    .dd-content {
        padding: 12px 10px 8px;
    }

    .dd-panel-header {
        margin-bottom: 10px;
    }

    .dd-section-label {
        font-size: 9px;
        letter-spacing: 1.4px;
    }

    .dd-grid {
        gap: 2px;
    }

    .dd-item {
        padding: 8px;
        gap: 9px;
        border-radius: 8px;
    }

    .dd-item-icon {
        width: 36px;
        height: 36px;
        border-radius: 7px;
    }

    .dd-item-icon img {
        width: 22px;
        height: 22px;
    }

    .dd-item-title {
        font-size: 12.5px;
    }

    .dd-item-sub {
        font-size: 10.5px;
    }

    .dd-footer {
        padding: 9px 10px;
        gap: 6px;
    }

    .dd-footer-text {
        font-size: 11px;
    }

    .dd-footer-link {
        font-size: 11.5px;
    }

    .nav-item.dropdown.show .custom-dropdown,
    .custom-dropdown.show {
        transform: none !important;
    }

    /* --------------------------------------------- HERO SECTION ---------------------------------- */
    .hero-wrapper {
        padding: 10px;
    }

    .hero {
        height: 90vh;
        border-radius: 16px;
    }

    .hero-content {
        padding: 120px 10px 50px;
    }

    .hero-tag {
        font-size: 11px;
        margin-bottom: 10px;
    }

    .hero-heading {
        font-size: 30px !important;
        line-height: 1.25;
    }

    .hero-heading span {
        font-size: 36px;
    }

    .hero-subtext {
        font-size: 14px;
        max-width: 100%;
        line-height: 1.6;
    }

    .hero-actions {
        flex-direction: column;
        gap: 10px;
    }

    .btn-primary-custom,
    .btn-secondary-custom {
        width: 100%;
        text-align: center;
        padding: 12px;
    }

    /* ===== BRAND STRIP ===== */

    .brand-strip {
        padding: 20px 8px;
    }

    .brand-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        padding: 20px;
        border-radius: 14px;
    }

    .brand-text {
        font-size: 16px;
        min-width: auto;
    }

    .brand-text span {
        font-size: 22px;
    }

    .brand-card {
        min-width: 120px;
    }

    .brand-card img {
        max-width: 120px;
    }

    .brand-track {
        gap: 25px;
        animation-duration: 14s;
    }


    /* ===== PROCESS SECTION ===== */

    .process-section {
        flex-direction: column;
        padding: 50px 0;
        gap: 30px;
    }

    .sticky-left {
        position: static;
    }

    .sticky-headline {
        font-size: 28px;
    }

    .sticky-headline .red {
        font-size: 36px;
    }

    .sticky-body {
        font-size: 14px;
    }

    .step-nav {
        display: none !important;
    }

    .scroll-right {
        gap: 20px;
    }

    .process-card {
        padding: 25px;
        border-radius: 20px;
    }

    .card-title {
        font-size: 22px;
    }

    .card-body {
        font-size: 13.5px;
    }

    /* ----------------------------------------------------------------------- SOLUTIONS SECTION */
    .solutions-section {
        padding: 50px 0;
    }

    .solution-sec-title {
        font-size: 28px;
    }

    .solution-sec-title .red {
        font-size: 32px;
    }

    .filter-bar-wrap {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 10px;
    }

    .filter-bar {
        background: transparent !important;
        border: none !important;
        flex-wrap: wrap !important;
        overflow-x: auto;
        padding: 6px;
        gap: 10px;
    }

    .filter-btn {
        flex-shrink: 0;
        font-size: 12.5px;
        padding: 8px 12px;


        border-radius: 11px;
        border: 1px solid rgba(255, 255, 255, 0.1);
        background: transparent;
        color: var(--harbor-white-600);
        font-size: 13.5px;
        font-weight: 500;
        cursor: pointer;
        white-space: nowrap;
        transition: color 0.25s, background 0.25s, border-color 0.25s;
        outline: none;
    }

    .sol-title {
        font-size: 24px;
    }

    .sol-body {
        font-size: 13.5px;
        max-width: 100%;
    }

    .sol-cta-row {
        flex-direction: column;
        align-items: stretch;
    }

    .sol-btn-primary,
    .sol-btn-ghost {
        width: 100%;
        justify-content: center;
    }

    .sol-image-frame {
        border-radius: 16px;
    }

    .sol-stat-float {
        display: none;
    }

    /* ---------------------------------------------------------------------------- GALLERY SECTION */
    .dh-gallery-intro {
        padding: 40px 0px 25px;
    }

    .dh-gallery-intro__tag {
        padding: 4px 10px;
    }

    .dh-gallery-intro__title {
        font-size: 26px;
        line-height: 1.3;
    }

    .dh-gallery-intro__title .dh-red {
        font-size: 30px;
    }

    .dh-gallery-intro__sub {
        font-size: 13px;
        line-height: 1.6;
    }

    /* -------------------------------------------------------------------------- SUPPORT SECTION */
    .ms-section {
        padding: 60px 0 50px;
    }

    .ms-top {
        gap: 18px;
        flex-direction: column;
    }

    .ms-tag {
        padding: 3px 10px;
    }

    .ms-headline {
        font-size: 24px;
    }

    .ms-headline .red {
        font-size: 28px;
    }

    .ms-nav {
        overflow-x: auto;
        flex-wrap: nowrap;
        justify-content: flex-start;
        padding: 6px;
        gap: 6px;
    }

    .ms-nav::-webkit-scrollbar {
        display: none;
    }

    .ms-nav-btn {
        flex: 0 0 auto;
        font-size: 11px;
        padding: 7px 14px;
    }

    .ms-col {
        padding: 16px;
    }

    .ms-card-inner {
        gap: 8px;
        font-size: 11.5px;
    }

    .ms-card-num {
        width: 16px;
        height: 16px;
        font-size: 8px;
    }

    .ms-col-label {
        font-size: 10px;
        opacity: 0.6;
    }

    /* --------------------------------------------------------------------------------------------------------- FEATURES SECTION */
    .features-section {
        padding: 55px 0;
    }

    .section-inner {
        padding-left: 14px;
        padding-right: 14px;
    }

    .features-sec-title {
        font-size: 26px;
    }

    .features-sec-title .accent {
        font-size: 28px;
    }

    .features-sec-subtitle {
        font-size: 13px;
        line-height: 1.6;
    }

    .feat-card {
        padding: 20px 16px;
    }

    .feat-title {
        font-size: 14.5px;
    }

    .feat-desc {
        font-size: 12px;
    }

    .feat-num {
        font-size: 10px;
    }

    /* ------------------------------------------------------------------------------------------- FAQS Section */
    .faq-premium {
        padding: 50px 0;
    }

    .faq-desc {
        font-size: 13.5px;
        line-height: 1.6;
    }

    .faq-card {
        padding: 18px 16px;
        border-radius: 14px;
    }

    .faq-question {
        font-size: 14px;
    }

    .faq-answer {
        font-size: 13px;
    }

    .faq-icon {
        width: 18px;
        height: 18px;
    }

    /* ----------------------------------------------------------------------------- BLOGS SECTION */
    .blogs-premium {
        padding: 50px 0;
    }

    .ms-top {
        gap: 12px;
    }

    .bf-image img {
        height: 220px;
    }

    .bf-content h2 {
        font-size: 20px;
    }

    .bf-content p {
        font-size: 13px;
        line-height: 1.6;
    }

    .bf-footer {
        flex-direction: column;
        gap: 6px;
        align-items: flex-start;
    }

    .blog-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .blog-card {
        border-radius: 14px;
    }

    .blog-img img {
        height: 150px;
    }

    .blog-content {
        padding: 14px;
    }

    .blog-content h3 {
        font-size: 14px;
    }

    .blog-date {
        font-size: 11px;
    }

    /* ------------------------------------------------------------------------ TESTIMONIALS SECTION */


    /* FOOTER SECTION */
    .footer-cta {
        padding: 40px 0;
    }

    .footer-cta-sub {
        font-size: 12px;
    }

    .footer-cta-email {
        font-size: 26px;
        line-height: 1.2;
        word-break: break-word;
    }

    .footer-cta-btn {
        width: 100%;
        padding: 12px 18px;
        font-size: 12.5px;
    }

    .footer-main {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 44px 0;
    }

    .footer-brand {
        grid-column: span 1;
    }

    .footer-brand-desc {
        width: 100%;
        font-size: 12.5px;
    }

    .footer-links a {
        font-size: 13px;
    }

    .footer-contact-num {
        font-size: 13.5px;
    }

    .footer-contact-addr {
        font-size: 12px;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .footer-bottom-right {
        font-size: 13px;
    }

    /* BREADCRUMB SECTION */

    .breadcrumb-wrap {
        min-height: 260px;
        margin: 10px;
        border-radius: 16px;
    }

    .breadcrumb-content {
        padding: 90px 16px 50px;
    }

    .breadcrumb-title {
        font-size: 22px;
        line-height: 1.2;
    }

    .breadcrumb-title span {
        font-size: 24px;
    }

    .breadcrumb-sub {
        font-size: 13px;
        margin-bottom: 20px;
    }

    .breadcrumb-path {
        padding: 7px 14px;
        font-size: 12px;
    }

    .breadcrumb-path a {
        font-size: 12px;
    }

    .breadcrumb-sep {
        font-size: 12px;
    }

    .breadcrumb-glow {
        width: 220px;
        height: 220px;
        top: -60px;
        right: -60px;
        filter: blur(60px);
    }

    /* VALUES SECTION */
    .values-section {
        padding: 0 0 50px;
    }

    .dh-gallery-intro__title {
        font-size: 22px;
        line-height: 1.3;
        text-align: center;
    }

    .about-card {
        padding: 26px 18px;
        border-radius: 18px;
    }

    .about-card-icon-wrap img {
        width: 65px;
        height: 65px;
    }

    .about-card-label {
        font-size: 15px;
    }

    .reveal-text {
        font-size: 12.5px;
    }

    /* PRODUCT PAGE */
    .product-section {
        padding: 40px 0;
    }

    #gallery-sticky {
        margin-top: 10px;
        margin-bottom: 30px;
    }

    .gallery-col {
        gap: 10px;
    }

    .main-viewer {
        min-height: 240px;
        border-radius: 14px;
    }

    .thumb-strip {
        gap: 8px;
    }

    .thumb {
        width: 52px;
        height: 52px;
        border-radius: 10px;
    }

    .viewer-dots {
        bottom: 10px;
    }

    .product-title {
        font-size: 22px;
        line-height: 1.2;
    }

    .product-eyebrow {
        font-size: 10px;
    }

    .product-desc {
        font-size: 13.5px;
    }

    .detail-divider {
        margin: 18px 0;
    }

    .spec-cell {
        padding: 12px 14px;
    }

    .trust-product-strip {
        gap: 10px;
    }

    .trust-item {
        font-size: 11.5px;
    }

    .trust-sep {
        display: none;
        /* cleaner mobile */
    }


    /* GALLERY PAGE */

    .sg-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .sg-card {
        height: 200px;
        border-radius: 12px;
    }

    .sg-section {
        padding: 50px 0;
    }

    .sg-grid:hover .sg-card:not(:hover) {
        transform: none;
        filter: none;
    }

    .sg-card:hover {
        transform: none;
        box-shadow: none;
    }

    .sg-card img {
        transform: none !important;
    }

    /* CONTACT US */
    .contact-sec {
        padding: 40px 0;
    }

    .hb-wrap {
        border-radius: 12px;
    }

    .hb-left,
    .hb-right {
        padding: 22px 16px;
    }

    .hb-heading {
        font-size: 20px;
        line-height: 1.4;
    }

    .hb-sub {
        font-size: 12px;
        line-height: 1.6;
    }

    .hb-form-title {
        font-size: 18px;
    }

    .hb-form-sub {
        font-size: 12px;
        margin-bottom: 20px;
    }

    .hb-contact-row {
        align-items: flex-start;
    }

    .hb-icon-wrap {
        width: 32px;
        height: 32px;
    }

    .hb-icon-wrap svg {
        width: 14px;
        height: 14px;
    }

    .hb-socials {
        flex-wrap: wrap;
    }

    .hb-social-btn {
        width: 32px;
        height: 32px;
    }

    .hb-input {
        padding: 9px 12px;
        font-size: 12px;
    }

    .hb-textarea {
        min-height: 80px;
    }

    .hb-submit {
        padding: 11px 18px;
        font-size: 12px;
    }

    .hb-trust {
        flex-wrap: wrap;
        text-align: center;
    }

    .hb-trust-text {
        font-size: 10px;
    }
}