/* responsive */
@media (max-width: 1199px) {
    .site-footer__main {
        grid-template-columns: minmax(280px, 1.5fr) repeat(2, minmax(160px, 1fr));
    }

    .framework-model__item-grid {
        grid-template-columns: 1fr;
    }

    .framework-model__link {
        font-size: 18px;
    }

    .section-portfolio-model__visual {
        position: relative;
        top: 0;
    }

    .section-portfolio-model__visual-inner {
        min-height: 620px;
    }
    .compass-mining__card-title {
        font-size: 26px;
    }

    .compass-mining__card {
        min-height: 380px;
        padding: 28px 24px;
    }
    .contact-side {
        max-width: 420px;
    }
}

@media (max-width: 991.98px) {
	.menu-trigger,
.close-trigger {
    display: block;
}
    .contact-hero-visual{
        min-height: auto;
    }
    .contact-options{
        grid-template-columns: repeat(2, 1fr);
    }
    .contact-page{
        padding: 90px 0 60px;
    }
    .contact-title{
        font-size: 40px;
    }
    .about-team-horizontal-card__content h3{
        font-size: 20px;
        margin-bottom: 15px;
    }
    .about-team-horizontal-card__content span{
        margin-bottom: 10px;
    }
    .about-hero__title{
        font-size: 40px;
    }
    .general-title.gts-2{
        font-size: 30px;
    }
    .about-ceo__title{
        margin-bottom: 30px;
    }
    .section-portfolio-model__body{
        grid-template-columns: 300px 1fr;
        align-items: center;
    }
    .portfolio-feature__list li{
        margin-bottom: 0;
    }
    .section-portfolio-model__head{
        margin-bottom: 30px;
    }
    #portfolio-orbit-canvas{
        transform: translateY(0px);
    }
    .section-portfolio-model__visual{
        width: 300px;
        display: flex;
        align-items: center;
        margin: 0 auto;
    }
    .site-footer__container {
        width: min(100% - 32px, 1280px);
        padding: 64px 0 52px;
    }

    .site-footer__main {
        grid-template-columns: 1fr 1fr;
        gap: 40px 28px;
    }

    .site-footer__brand {
        grid-column: 1 / -1;
        max-width: 100%;
    }

    .site-footer__description {
        max-width: 540px;
    }

    .site-footer__bottom {
        margin-top: 56px;
    }

    .framework-model {
        padding: 96px 0 80px;
    }

    .framework-model__container {
        width: min(100% - 32px, 1280px);
    }

    .framework-model__subtitle {
        font-size: 16px;
        max-width: 620px;
    }
    .framework-model__cta {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .section-portfolio-model__content {
        grid-template-columns: 1fr;
    }

    .section-challenge {
        padding: 80px 0 30px;
    }

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

    .challenge-card {
        min-height: auto;
        padding: 38px 26px 30px;
        border-right: none;
    }

    .challenge-card:not(:last-child) {
        border-bottom: 1px solid rgba(17, 35, 66, 0.08);
    }

    .challenge-card__number {
        font-size: 56px;
        margin-bottom: 0;
    }

    .challenge-card__top {
        margin-top: 30px;
        gap: 15px;
    }

    .challenge-card__title {
        font-size: 16px;
    }

    .challenge-card__text {
        margin-top: 24px;
    }

    .site-header__details {
        position: relative;
        justify-content: flex-end;
    }

    .site-header__brand{
        top: 4px
    }
    .site-header__details{
        grid-gap: 30px;
    }

    .close-trigger {
        display: block;
        position: fixed;
        right: 30px;
        top: 34px;
        width: 34px;
        height: 24px;
        z-index: 1000;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        cursor: pointer;
        transition: all 0.28s ease;
    }

    .close-trigger:hover{
        transform: scale(1.1);
    }

    .menu-trigger-bar {
        display: block;
        width: 100%;
        height: 2px;
        border-radius: 2px;
        position: relative;
    }

    .close-trigger-bar {
        position: absolute;
        left: 0;
        top: 50%;
        width: 100%;
        height: 2px;
        margin-top: -1px;
        border-radius: 2px;
        background-color: rgba(17, 35, 66, 0.9);
        transform-origin: 50% 50%;
    }

    .close-trigger-bar.left {
        transform: rotate(45deg);
    }

    .close-trigger-bar.right {
        transform: rotate(-45deg);
    }

    .menu-trigger-bar {
        background-color: #112342;
        margin-bottom: 7px;
    }

    .menu-trigger-bar.top {
        width: 50%;
    }

    .menu-trigger-bar.bottom {
        width: 50%;
        margin-left: 50%;
    }

    .inner-container {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 130;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        overflow: hidden;
    }

    .menu-overlay {
        position: absolute;
        inset: 0;
        z-index: 0;
        background: rgba(255, 255, 255, 0.16);
        backdrop-filter: blur(14px) saturate(120%);
        -webkit-backdrop-filter: blur(14px) saturate(120%);
        opacity: 0;
    }

    .menu-container {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        z-index: 2;
    }

    .menu-bg {
        opacity: 0;
        will-change: transform, opacity;
    }

    .menu-container {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        z-index: 2;
    }

    .menu {
        display: block;
        width: 100%;
        padding: 120px 32px 44px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(30px);
    }

    .menu li {
        display: block;
        padding: 12px 0;
        text-align: left;
    }

    .menu a {
        text-decoration: none;
        color: #112342;
        display: inline-block;
        padding: 8px 0;
        position: relative;
        font-size: 34px;
        font-weight: 300;
        line-height: 1.08;
    }

    .menu a::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 18px;
        height: 2px;
        opacity: 0;
        background-color: #112342;
        transform: translateX(30px);
        transition: all 0.28s ease;
    }

    .menu a:hover::before {
        opacity: 1;
        transform: translateX(0);
    }

    /* Діагональні glass-панелі */
    .menu-bg {
        position: absolute;
        left: 50%;
        width: 180vmax;
        height: 46vmax;
        margin-left: -90vmax;
        border-radius: 36px;
        transform: rotate(-45deg);
        background: linear-gradient(
                180deg,
                rgba(255, 255, 255, 0.62) 0%,
                rgba(255, 255, 255, 0.42) 100%
        );
        box-shadow:
                inset 0 1px 0 rgba(255,255,255,0.55),
                inset 0 -1px 0 rgba(255,255,255,0.18);
        backdrop-filter: blur(24px) saturate(125%);
        -webkit-backdrop-filter: blur(24px) saturate(125%);
        z-index: 1;
    }

    .menu-bg.top {
        top: -28vmax;
    }

    .menu-bg.middle {
        top: 26vmax;
        transform: rotate(-45deg) scaleY(0);
    }

    .menu-bg.bottom {
        top: 80vmax;
    }

    .hero__social-list{
        justify-content: center;
        grid-gap: 15px;
    }
    .hero__container{
        left: 0;
        right: 0;
        width: 100%;
        top: 330px;
    }

    .site-header__nav{
        display: none;
    }

    .full-window{
        min-height: 700px;
    }

    .hero__content{
        max-width: 720px;
        margin: 0 auto;
        text-align: center;
    }

    .hero__title{
        text-align: center;
        font-size: 30px;
    }

    .hero__title-br1{
        display: none;
    }

    .hero__subtitle{
        margin: 15px auto 0;
        text-align: center;
    }
    .compass-mining {
        padding: 100px 0 60px;
    }

    .voyager-sustain__subtitle {
        padding: 100px 0 60px;
    }

    .compass-mining__grid {
        grid-template-columns: 1fr;
    }

    .compass-mining__card {
        min-height: auto;
    }
    .about-ceo__photo{
        max-width: 400px;
        margin: 0 auto;
        position: relative;
    }
    .about-ceo__profile{
        text-align: center;
    }
    .about-mission-who,
    .about-ceo,
    .about-identity,
    .about-team,
    .about-glance-values {
        padding: 60px 0;
    }
    .contact-side {
        max-width: 100%;
        width: 100%;
    }
    .results-proof__case-value {
        font-size: 40px;
    }
    .beacon-fw-page .beacon-fw-hero{
        padding: 115px 0 80px;
    }
}

@media (max-width: 767.98px) {
    .beacon-fw-page .beacon-fw-proof {
        padding: 60px 0 0;
    }
    .beacon-fw-page section{
        padding: 60px 0;
    }

    .beacon-fw-framework__steps{
        display: none;
    }
    .beacon-fw-proof-card{
        padding: 15px;
    }
    .beacon-fw-readiness-grid{
        grid-gap: 15px;
    }
    .beacon-fw-signal-list{
        grid-template-columns: 1fr;
    }
    .beacon-fw-delivery-card{
        padding: 0;
        box-shadow: none;
        background: transparent;
    }
    .beacon-fw-framework-card{
        padding: 0;
        background: transparent;
        box-shadow: none;
        grid-gap: 15px;
    }
    .beacon-fw-framework__note strong{
        font-size: 12px;
    }
    .beacon-fw-phase-grid{
        grid-gap: 15px;
    }
    .usecase-metric-card strong{
        font-size: 30px;
    }
    .beacon-action {
        padding: 30px 0 30px;
    }
    .usecase-diagnostic-model {
        padding: 30px 0 30px;
    }
    .usecase-impact {
        padding: 30px 0 30px;
    }
    .usecase-impact-step:not(:last-child)::after {
        display: block;
        left: 40px;
        right: auto;
        top: auto;
        bottom: -15px;
        width: 12px;
        height: 12px;
        transform: rotate(90deg);
        background: var(--accent);
    }

    .usecase-challenge, .usecase-achievements{
        padding: 60px 0;
    }
    .usecase-challenge__grid{
        grid-gap: 15px;
    }
    .usecase-metrics, .usecase-overview{
        padding: 30px 0;
    }
    .usecase-challenge__grid{
        margin-top: 30px;
    }
    .usecase-achievements__grid{
        grid-gap: 15px;
    }
    .usecase-btn {
        width: 100%;
    }
    .usecase-hero__actions{
        display: grid;
        grid-gap: 15px;
        grid-template-columns: repeat(2, 1fr);
    }
    .usecase-hero {
        padding: 160px 0 90px;
    }
    .results-proof__summary-value--text,.results-proof__summary-value{
        font-size: 24px;
    }
    .contact-card p{
        font-size: 14px;
    }
    .contact-hero-grid{
        grid-template-columns: 1fr;
        grid-gap: 30px;
    }
    .about-mission {
        margin-bottom: 60px;
    }
    .about-value-row strong {
        font-size: 14px;
    }
    .about-hero__actions{
        display: grid;
        grid-gap: 15px;
        grid-template-columns: repeat(2, 1fr);
    }
    .section-portfolio-model__content {
        margin-top: 50px;
    }
    .compass-mining__title {
        font-size: 24px;
        left: 0;
    }
    .voyager-sustain__title {
        font-size: 24px;
        left: 0;
    }
    .beacon-diagnose__title {
        font-size: 24px;
        left: 0;
    }

    .first12__title {
        font-size: 24px;
        left: 0;
    }

    .results-proof__title {
        font-size: 24px;
        left: 0;
    }

    .navigator-delivery__title {
        font-size: 24px;
        left: 0;
    }

    .compass-mining__card-title {
        font-size: 24px;
    }
    .section-portfolio-model__body{
        grid-template-columns: 1fr;
        align-items: center;
        grid-gap: 0;
    }
    .portfolio-feature:nth-child(1){
        left: 0;
    }
    .portfolio-feature:nth-child(4){
        left: 0;
    }
    .framework-model__item-title{
        font-size: 16px;
    }

    .portfolio-feature {
        padding: 0;
        border-radius: 18px;
    }
    .framework-model__eyebrow{
        font-size: 10px;
        min-height: auto;
        padding: 3px 10px;
    }
    .section-challenge__title{
        font-size: 24px;
        left: 0;
    }
    .section-portfolio-model__title{
        font-size: 24px;
        left: 0;
    }
    .insights-archive__title{
        font-size: 24px;
        left: 0;
    }
    .framework-model__title{
        font-size: 24px;
        left: 0;
    }
    .request-modal__container {
        padding: 96px 18px 24px;
    }

    .request-modal__content {
        padding: 24px 18px;
        border-radius: 18px;
    }

    .request-modal__title {
        font-size: 30px;
    }

    .request-form__grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .section-portfolio-model {
        padding: 160px 0 60px;
    }


    .section-challenge__subtitle {
        font-size: 16px;
    }

    .challenge-card__icon {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
    }

    .challenge-card__title {
        font-size: 16px;
    }

    .challenge-card__text {
        font-size: 14px;
    }

    .framework-model {
        padding: 100px 0 60px;
    }

    .framework-model__head {
        margin-bottom: 30px;
    }

    .framework-model__subtitle {
        margin-top: 15px;
    }

    .framework-model__item-grid {
        grid-template-columns: 1fr;
        gap: 15px;
        padding: 0 0 30px;
    }

    .framework-model__action {
        grid-column: auto;
        justify-content: flex-end;
    }

    .framework-model__link {
        font-size: 14px;
    }
    .framework-model__link svg{
        width: 14px;
        height: 14px;
        transform: translateY(1px);
    }
    .framework-model__cta {
        padding-top: 52px;
    }
    .wrapper{
        padding-left: 15px;
        padding-right: 15px;
    }
    .challenge-card{
        padding: 15px;
    }
    .site-footer__logo svg{
        left: -5px;
    }
}

@media (max-width: 640px) {
    .site-footer__top-line {
        height: 18px;
        background-size: 100% 100%, 28px 100%, auto;
    }

    .site-footer__container {
        padding: 30px 0 30px;
        grid-template-columns: repeat(2, 1fr);
    }

    .site-footer__main {
        grid-template-columns: repeat(2, 1fr);
        gap: 34px;
    }

    .site-footer__brand{
        grid-column: 1/3;
    }

    .site-footer__logo-box {
        width: 50px;
        height: 50px;
        font-size: 18px;
    }

    .site-footer__logo-text {
        font-size: 22px;
    }

    .site-footer__description {
        margin-top: 15px;
    }

    .site-footer__social {
        width: 48px;
        height: 48px;
    }

    .site-footer__heading {
        margin-bottom: 18px;
        font-size: 14px;
    }

    .site-footer__list li + li {
        margin-top: 12px;
    }

    .site-footer__list a {
        font-size: 14px;
    }

    .site-footer__bottom {
        margin-top: 42px;
        padding-top: 26px;
    }

    .framework-model__list{
        grid-template-columns: 1fr;
        grid-gap: 30px;
    }
}


@media (hover: none) and (pointer: coarse) {
    .glass-button::after,
    .glass-button:hover::after,
    .glass-button:active::after {
        --angle-1: -75deg;
    }
}

/* Touch Devices */
@media (hover: none) and (pointer: coarse) {
    .glass-button span::after,
    .glass-button:active span::after {
        --angle-2: -45deg;
    }
}

@media (prefers-reduced-motion: reduce) {
    .reveal,
    .reveal-card {
        opacity: 1;
        transform: none;
        will-change: auto;
    }
}



/* Blog adaptation */
@media (max-width: 1399px) {
    .insights-archive__layout {
        grid-template-columns: minmax(0, 1fr) 300px;
    }

    .insights-archive__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1199px) {
    .insights-featured-card {
        grid-template-columns: 1fr;
    }

    .insights-featured-card__media {
        aspect-ratio: 1.6 / 0.9;
    }

    .insights-post-card__title {
        font-size: 30px;
    }
}

@media (max-width: 991px) {
    .insights-archive__hero {
        padding-top: 150px;
        padding-bottom: 36px;
    }

    .insights-archive__layout {
        grid-template-columns: 1fr;
    }

    .insights-sidebar {
        order: 2;
    }

    .insights-archive__main {
        order: 1;
    }

    .insights-sidebar__sticky {
        position: static;
        top: auto;
        grid-template-columns: 1fr;
    }

    .insights-archive__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .insights-archive__subtitle {
        font-size: 16px;
    }

    .insights-archive__filters {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 6px;
    }

    .insights-featured-card__body {
        padding: 24px 22px;
    }

    .insights-featured-card__title {
        font-size: 34px;
    }

    .insights-archive__grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .insights-post-card__title {
        font-size: 28px;
    }

    .insights-sidebar__card {
        padding: 20px 18px;
    }
}

@media (max-width: 575px) {
    .insights-archive__hero {
        padding-top: 132px;
    }

    .insights-featured-card {
        border-radius: 22px;
    }

    .insights-post-card {
        border-radius: 22px;
    }

    .insights-featured-card__title {
        font-size: 28px;
    }

    .insights-post-card__title {
        font-size: 24px;
    }
}

@media (max-width: 1199px){
    .insights-single__hero-layout{
        grid-template-columns: minmax(0, 1fr) 400px;
        gap: 34px;
    }

    .insights-single__layout{
        grid-template-columns: minmax(0, 1fr) 290px;
        gap: 30px;
    }
}

@media (max-width: 991px){
    .insights-single__hero{
        padding-top: 150px;
    }

    .insights-single__hero-layout{
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .insights-single__hero-main{
        max-width: 100%;
    }

    .insights-single__layout{
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .insights-single-sidebar__sticky{
        gap: 16px;
    }
}

@media (max-width: 767px){
    .insights-single__hero{
        padding-top: 126px;
        padding-bottom: 24px;
    }

    .insights-single__title{
        margin-bottom: 16px;
    }

    .insights-single__excerpt{
        font-size: 16px;
        line-height: 1.75;
    }

    .insights-single__meta{
        gap: 10px;
    }

    .insights-single__hero-media{
        border-radius: 22px;
    }

    .insights-single__content{
        padding-bottom: 70px;
    }

    .insights-single__prose p,
    .insights-single__prose ul,
    .insights-single__prose ol{
        font-size: 16px;
        line-height: 1.8;
    }

    .insights-single__prose blockquote{
        padding: 20px 18px;
        margin: 28px 0;
    }

    .insights-single__post-nav{
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .insights-single-sidebar__card{
        padding: 18px;
        border-radius: 20px;
    }
}