/* HERO */
.hero {
    height:100vh;
    width:100%;
    position:fixed;
    top:0;
    left:0;
    z-index:10;
		box-shadow: inset 0 -120px 120px -80px rgba(0,0,0,0.65);
		color: var(--sg-frame-text);
		padding: 0 20px;
}

.hero__label {
    position: absolute;
    bottom: 40px;
    width: 100%;
    text-align: center;
    font-size:12px;
    letter-spacing:.25em;
    transition: opacity .2s linear;
}
.tm {
    font-size:10px;
    vertical-align:super;
}

/* CONTENT */
.content {
		margin-top:100vh;
		min-height: calc(100vh - 90px);
}

/* === STATE SECTION ==== */

.state-container {
    max-width: 1200px;
    margin: 0 auto;
}
.state-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 80px 120px;
}
.state-grid a{color: inherit;}
.state-item {
    text-decoration: none;
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.state-item h3 {
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 14px;
		color: var(--sg-accent-primary);
}
.state-item p {
    font-size: 14px;
    line-height: 1.6;
		color: var(--sg-accent-secondary);
}
.state-item:hover {transform: translateY(-4px);}
.state-item:hover h3 { color: var(--sg-hover-light);}
.state-item:hover p { color: var(--sg-hover-lighter);}

/* === TRUST SECTION ==== */

.trust-header {
    text-align: center;
    margin-bottom: 50px; 
}
.trust-text1 p, .trust-text2 p {
    font-size: 22px;
    font-weight: 500;
    margin: 14px;
		color: var(--sg-text-subheadline);
    opacity: 0.8;
}
.trust-text2 p {
    font-size: 18px;
}
/* GRID */
.trust-grid {
    display: grid;
    grid-template-columns: 0.5fr 0.2fr 0.2fr 1fr 0.7fr;
    grid-template-rows: 50px 50px 110px 150px  140px;
		grid-template-areas:
			"large large large  text   vert "
			"large large large  text   vert "
			"large large large   med   vert "
			"med2  med2  med2   med    vert"
			"med2  med2  med2   text2  vert";
    gap: 30px;
		max-width: 1440px;
		margin:auto;
}
/* блоки */
.trust-item {
    position: relative;
    overflow: hidden;
}
.trust-item2 {
    position: relative;
}
.trust-large {
    grid-area: large;
		z-index:5;
}
.trust-medium {
    grid-area: med;
		z-index:7;
}
.trust-medium-inner {
	position: absolute;
	top: -50px;
	left: -80px;
	width: 130%;
	height: 130%;
	overflow: hidden;
}
.trust-medium2 {
    grid-area: med2;
		z-index:8;
}
.trust-vertical {
    grid-area: vert;
		z-index:5;
}
.trust-text1, .trust-text2 {
    grid-area: text;
		display: flex;
		flex-flow: column nowrap;
		justify-content: center;
		align-items:center;
}
.trust-text2 {grid-area: text2;}
.trust-pull{grid-area: pull;}
.trust-pull2{grid-area: pull2;}
/* текст поверх */
.trust-item::after, .trust-medium-inner::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0) 50%,
        rgba(0,0,0,0.65) 100%
    );
}
.trust-text {
    position: absolute;
    bottom: 30px;
    left: 30px;
    right: 30px;
    z-index: 2; 
}
.trust-text h3 {
    font-size: 20px;
    margin-bottom: 10px;
		color: var(--sg-frame-text-muted);
}
.trust-text p {
    font-size: 14px;
    opacity: 0.85;
		color: var(--sg-frame-text-muted);
} 
.trust-text-medium{margin-left: 50px;}
.trust-item:hover .person-photo, .trust-medium-inner:hover .person-photo {
    transform: scale(1.05);
    filter:
        brightness(1)
        contrast(1.08)
        saturate(1.1)
        sepia(0.05);
}
.person-photo {
    width: 100%;
    height: 100%;
    object-fit: cover; 

    filter:
        brightness(0.95)
        contrast(1.05)
        saturate(1.05)
        sepia(0.08);

    transition: transform 0.6s ease, filter 0.6s ease;
}

/* === ECOSYSTEM SECTION ==== */

.eco-header {
    text-align: center;
    margin-bottom: 50px;
}
/* GRID */
.eco-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    grid-template-rows: 180px 180px 180px;
    gap: 40px;
}
/* Туризм — доминирующий */
.eco-main {
    grid-row: span 3;
		background-image:url('../../img/bottoms/eco_1.png'),  linear-gradient(135deg, var(--sg-block-grad-start) 0%, var(--sg-block-grad-end) 100%);
		background-size: contain, cover;
		background-position: right bottom, center;
		background-repeat: no-repeat, no-repeat;
    padding: 60px;
		color: var(--sg-block-text);
    transition: all 0.4s ease;
}
/* Остальные */
#eco2-1{background-image:url('../../img/bottoms/eco_2_1.png'), linear-gradient(135deg, var(--sg-block-grad-end) 0%, var(--sg-block-grad-start) 100%);}
#eco2-2{background-image:url('../../img/bottoms/eco_2_2.png'), linear-gradient(135deg, var(--sg-block-grad-end) 0%, var(--sg-block-grad-start) 100%);}
#eco2-3{background-image:url('../../img/bottoms/eco_2_3.png'), linear-gradient(135deg, var(--sg-block-grad-end) 0%, var(--sg-block-grad-start) 100%);} 
.eco-side {
		background-size: contain, cover;
		background-position: right bottom, center;
		background-repeat: no-repeat, no-repeat;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: all 0.4s ease;
}
/* Тексты */
.eco-item h3 {
    font-size: 24px;
    margin-bottom: 12px;
}
.eco-item p {
    font-size: 15px;
    opacity: 0.8;
}
/* Динамика */
.eco-item:hover {
    transform: translateY(-6px);
}
.eco-main:hover {
    transform: translateY(-6px) scale(1.02);
}
.eco-item.eco-main a, .eco-item.eco-side a  {
    text-decoration: none;
    color: inherit; /* Чтобы текст не становился синим, а наследовал цвет родителя */
	width: 100%;
	height: 100%;		
}
.a-inner{
	width: 100%;
	height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;	
	
}
/* === LIVE SECTION ==== */

.live-header {
    text-align: center;
    margin-bottom: 120px;
}
/* GRID */
.live-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    grid-auto-rows: 200px;
		grid-template-areas:
			"anonce new "
			"anonce pic "
			"blog pic "
			"blog  story ";
    gap: 30px;
}
.live-large {
    grid-area: anonce;
}

.live-new {
    grid-area: new;
}
.live-blog {
    grid-area: blog;
}
.live-wide {
    grid-area: story;
}
/* карточки */
.live-item {
		min-width: 0;
    position: relative;
    background: linear-gradient(135deg, var(--sg-block-grad-start) 0%, var(--sg-block-grad-end) 100%);
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    transition: all 0.4s ease;
}
.live-item:hover {
    transform: translateY(-6px);
}
.live-pic {
    grid-area: pic;
    background-size: cover;      /* вписать целиком */
    background-position: center;   /* по центру */
    background-repeat: no-repeat;  /* без повторения */
}

/* контент на 30px ниже по высоте */
.news__content{
  height: calc(100% - 30px);
  overflow: hidden;

  -webkit-mask-image: linear-gradient(
    to bottom,
    black 70%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    black 70%,
    transparent 100%
  );
}

#newsTitle, #storyTitile, #tourTitle {
		width: 100%;
		max-width: 100%;
    margin: 0;              /* чтобы не ломал расчёт высоты */
    min-width: 0;           /* обязательно для flex */
    flex-shrink: 1;         /* разрешаем сжиматься */
    white-space: nowrap;    
    overflow: hidden;       
    text-overflow: ellipsis;
}
/* тег */
.live-tag {
    position: absolute;
    top: 20px;
    left: 20px;
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    opacity: 0.7;
}
/* текст */
.live-item h3 {
    font-size: 20px;
    margin: 0;
}
#eventBody{
	height: calc(100% - 30px);
	padding-top: 20px;
	display:flex;
	gap: 20px; 
}
#eventtext{
    flex: 1;        /* занимают равную ширину */
    min-width: 0;  
	height: 100%;
	overflow: hidden;
  -webkit-mask-image: linear-gradient(
    to bottom,
    black 70%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    black 70%,
    transparent 100%
  );	
}
#eventPic{
	height: 100%;
    flex: 1;        /* занимают равную ширину */
    min-width: 0;  
	background-size: cover;      /* вписать целиком */
	background-position: center;   /* по центру */
	background-repeat: no-repeat;  /* без повторения */
}
.live-link{
	width: 100%;
	height: 100%;
	color: inherit;
}
/* === PARTNERS SECTION ==== */

.partners-header {
    text-align: center;
    margin-bottom: 100px;
}
/* GRID */
.partners-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px;
    margin-bottom: 80px;
}
.partner-item h3 {
    font-size: 20px;
    margin-bottom: 15px;
}
.partner-item p {
    opacity: 0.75;
    line-height: 1.6;
}
/* CTA */
.partners-cta {
    text-align: center;
}
.partner-link {
    display: inline-block;
    padding: 14px 32px;
    border: 1px solid var(--sg-border-light);
    text-decoration: none;
    color: var(--sg-text-headline);
    transition: all 0.3s ease;
}
.partner-link:hover {
    background: #2d2a28;
    color: var(--sg-frame-text);
}
/* === FINAL SECTION ==== */

.final-section {
    position: relative; 
    height: calc(100vh - 90px);
		width: 100%;
		max-width: 100%;
    background: url('../img/bottoms/final_road.png') center/cover no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sg-frame-text);
}
.final-overlay {
    position: absolute;
    inset: 0.1;
    background: linear-gradient(
        to bottom,
        var( --sg-body-bg) 0%,
        var(--sg-block-grad-start) 100% 
    );
}
.final-content {
    position: relative;
    text-align: center;
    max-width: 700px;
}
.final-content h1 {
    font-size: 46px;
    margin-bottom: 30px;
		color: var(--sg-frame-text);
}
.final-content p {
    font-size: 20px;
    opacity: 0.9;
    margin-bottom: 80px;
		color: var(--sg-frame-text);
}
.final-signature {
    font-size: 16px;
    opacity: 0.8;
    letter-spacing: 1px;
		color: var(--sg-frame-text);
}
.final-signature span {
    font-size: 14px;
    opacity: 0.7;
}
.final__nav {
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:90px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 40px;
}

/* Адаптив */

@media (max-width: 1180px) {
	.trust-text {
			bottom: 10px;
			left: 10px;
			right: 50px;
	}
	.trust-text1 p, .trust-text2 p {font-size: 0.9em;}
	.trust-medium-inner {
		top: 0px;
		left: -50px;
		height: 110%;
	}
}


@media (max-width: 960px) {
		.trust-grid {
				display: grid;
				grid-template-columns: 1fr 1fr 1fr;
				grid-template-rows: 50px 50px 110px 150px  140px;
				grid-template-areas:
					"large    text   vert "
					"large    text   vert "
					"large    med    vert "
					"med2     med    vert"
					"med2     text2  vert";
		}	
		.trust-medium-inner {
			top: 20px;
			left: -50px;
			height: 100%;
			width: 145%;
		}
    #eventBody {
        flex-direction: column;
        gap: 20px; /* уменьшаем отступ */
    }
		#eventPic{height: 750px;}
}

@media (max-width: 900px) {

    .state-grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .state-title {
        font-size: 30px;
        margin-bottom: 70px;
    }
		#eventPic{height: 618px;}

}

@media (max-width:860px) {

    .nav {
        display:none;
    }

    .burger {
        display:flex;
    }

		.state-section, .trust-section, .ecosystem-section{ padding: 60px 50px;}
		.state-grid { gap: 50px;}	

}

@media (max-width:780px) {
		.trust-grid {
				display: grid;
				grid-template-columns: 1.2fr 0.8fr;
				grid-template-rows: 50px 250px 250px 150px  140px;
				grid-template-areas:
					"text    text"
					"large   vert "
					"med     vert "
					"med2    vert"
					"med2    text2";
		}
		.trust-medium-inner {
			top: 0px;
			left: 0px;
			height: 100%;
			width: 100%;
		}	
		.trust-text-medium{margin-left: 0;}
		.trust-text1, .trust-text2 {flex-flow: row wrap;}
}

@media (max-width:700px) {
		.trust-grid {
				display: grid;
				grid-template-columns: 1fr 1fr;
				width: 100%;
		}	
		.trust-section, .ecosystem-section, .live-section {padding: 60px 20px;}
		.eco-grid {
				display: grid;
				grid-template-columns: 1fr;
				grid-template-rows: auto auto auto auto;
				gap: 20px;
		}
		.eco-main {grid-row: 1;}
		.live-pic {min-height:500px;}
		.live-grid {
				display: grid;
				grid-template-columns: 1fr;
				grid-template-rows: auto auto auto 350px 400px;
				grid-template-areas:
					" new "
					" anonce "
					" pic "
					" blog "
					" story ";
				gap: 20px;
		}
		#eventPic{height: 525px;}
		.partners-grid {
				grid-template-columns: 1fr;
				gap: 20px;
		}
}

@media (max-width:560px) {
		.live-pic {min-height:300px;}
		.trust-grid {
				display: grid;
				grid-template-columns: 0.4fr 0.6fr;
				grid-template-rows: 40px 250px 250px 250px 400px 140px;
				grid-template-areas:
					" text text"
					" large large"
					" med med"
					" med2 med2"
					" text2 vert "
					" text2 vert";
					gap: 20px;
		}
		#eventPic{height: 420px;}		

}

@media (max-width:455px) {
    .state-grid { gap: 30px;}	
		.state-section{ padding: 50px 40px;}
		.trust-grid {
				display: grid;
				grid-template-columns: 1fr;
				grid-template-rows: 80px 250px 250px 250px 400px 140px;
				grid-template-areas:
					" text "
					" large "
					" med "
					" med2 "
					" vert "
					" text2 ";
					gap: 20px;
		}	
		.eco-main, .eco-side {padding: 10px;}
}

