#kazan-guide-2026 h1,#kazan-guide-2026 h2,#kazan-guide-2026 h3,#kazan-guide-2026 h4 { font-family:inherit; color:inherit; padding:0; }
#kazan-guide-2026 header { background:transparent; border:0; box-shadow:none; }
@font-face {
	font-family: Nekst;
	src: url("assets/fonts/Nekst-Black.woff2") format("woff2");
	font-weight: 900;
	font-style: normal;
	font-display: swap
}

@font-face {
	font-family: Nekst;
	src: url("assets/fonts/Nekst-Light.woff2") format("woff2");
	font-weight: 300;
	font-style: normal;
	font-display: swap
}

@font-face {
	font-family: Nekst;
	src: url("assets/fonts/Nekst-Thin.woff2") format("woff2");
	font-weight: 100;
	font-style: normal;
	font-display: swap
}

@font-face {
	font-family: Unbounded;
	src: url("assets/fonts/Unbounded.ttf") format("truetype");
	font-weight: 200 900;
	font-style: normal;
	font-display: swap
}

@font-face {
	font-family: Nekst;
	src: url("assets/fonts/Nekst-Regular.woff2") format("woff2");
	font-weight: 400;
	font-display: swap
}

@font-face {
	font-family: Nekst;
	src: url("assets/fonts/Nekst-Medium.woff2") format("woff2");
	font-weight: 500;
	font-display: swap
}

@font-face {
	font-family: Nekst;
	src: url("assets/fonts/Nekst-SemiBold.woff2") format("woff2");
	font-weight: 600;
	font-display: swap
}

@font-face {
	font-family: Nekst;
	src: url("assets/fonts/Nekst-Bold.woff2") format("woff2");
	font-weight: 700;
	font-display: swap
}

@font-face {
	font-family: Innostage;
	src: url("assets/fonts/Innostage.otf") format("opentype");
	font-display: swap
}

#kazan-guide-2026{
	--paper: #e6e5f1;
	--orange: #fe5000;
	--blue: #041eed;
	--ink: #101010;
	--content: 1160px
}

#kazan-guide-2026 *{
	box-sizing: border-box
}

html.kazan-guide-page{
	scroll-behavior: smooth;
	scroll-padding-top: 190px
}

#kazan-guide-2026{
	margin: 0;
	color: var(--ink);
	background: var(--paper);
	font-family: Nekst,Arial,sans-serif;
	font-size: 22px;
	line-height: 1.3
}

#kazan-guide-2026 button,#kazan-guide-2026 a{
	-webkit-tap-highlight-color: transparent
}

#kazan-guide-2026 button,#kazan-guide-2026 input{
	font: inherit
}

#kazan-guide-2026 button{
	cursor: pointer
}

#kazan-guide-2026 a{
	color: inherit
}

#kazan-guide-2026 img,#kazan-guide-2026 svg{
	display: block;
	max-width: 100%
}

#kazan-guide-2026 button:focus-visible,#kazan-guide-2026 a:focus-visible,#kazan-guide-2026 [tabindex]:focus-visible{
	outline: 3px solid var(--blue);
	outline-offset: 6px
}

#kazan-guide-2026 h1,#kazan-guide-2026 h2,#kazan-guide-2026 h3,#kazan-guide-2026 h4,#kazan-guide-2026 p{
	margin: 0
}

#kazan-guide-2026 h2{
	font-size: 32px;
	font-weight: 700;
	line-height: 1.15;
	color: var(--blue)
}

#kazan-guide-2026 h3{
	font-size: 24px;
	line-height: 1.25;
	font-weight: 700
}

#kazan-guide-2026 button{
	color: inherit
}

#kazan-guide-2026 a{
	text-decoration: none
}

#kazan-guide-2026 .skip-link{
	position: fixed;
	left: 16px;
	top: -100px;
	background: white;
	padding: 15px;
	z-index: 100
}

#kazan-guide-2026 .skip-link:focus{
	top: 10px
}

#kazan-guide-2026 .content-wrap{
	max-width: var(--content);
	margin: 0 auto;
	position: relative
}

#kazan-guide-2026 main{
	overflow: clip
}

#kazan-guide-2026 section{
	position: relative
}

#kazan-guide-2026 .site-header{
	position: absolute;
	z-index: 10;
	top: 48px;
	width: 100%;
	color: white
}

#kazan-guide-2026 .header-inner{
	max-width: 1160px;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px
}

#kazan-guide-2026 .brand{
	flex: none;
	width: 226px
}

#kazan-guide-2026 .brand img{
	width: 100%;
	height: auto;
	filter: brightness(0) invert(1)
}

#kazan-guide-2026 .header-links{
	display: flex;
	align-items: center;
	gap: 30px;
	font-size: 14px
}

#kazan-guide-2026 .header-links a:hover{
	text-decoration: underline;
	text-underline-offset: 5px
}

#kazan-guide-2026 .header-phone{
	font-size: 23px;
	white-space: nowrap
}

#kazan-guide-2026 .hero{
	height: 700px;
	padding-top: 140px;
	background: radial-gradient(ellipse at 87% 26%,#ffa77d 0,transparent 31%),linear-gradient(180deg,#fe5000 0%,#fe5000 55%,#fc8e60 85%,#e6e5f1 115%);
	color: white
}

#kazan-guide-2026 .hero-title{
	position: relative;
	z-index: 2;
	text-align: center;
	max-width: 660px;
	margin: auto
}

#kazan-guide-2026 .hero h1{
	font-family: Unbounded,Nekst,sans-serif;
	font-size: 73.09px;
	font-weight: 700;
	line-height: .8;
	letter-spacing: 0
}

#kazan-guide-2026 .hero-title>p{
	font-size: 36px;
	line-height: 1.35;
	margin-top: 30px;
	font-weight: 400
}

#kazan-guide-2026 .hero-art{
	position: absolute;
	pointer-events: none;
	z-index: 1
}

#kazan-guide-2026 .hero-art img{
	width: 100%;
	height: 100%
}

#kazan-guide-2026 .hero-art-left{
	width: 490px;
	height: 400px;
	left: calc(50% - 685px);
	top: 110px
}

#kazan-guide-2026 .hero-art-right{
	width: 450px;
	height: 420px;
	left: calc(50% + 250px);
	top: 100px
}

#kazan-guide-2026 .hero-intro{
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	max-width: 1288px;
	margin: 40px auto 0
}

#kazan-guide-2026 .hero-intro>div{
	border: 1px solid #fff;
	border-radius: 12px;
	background: #fff1;
	padding: 24px 26px 20px;
	min-height: 228px
}

#kazan-guide-2026 .hero-intro p{
	font-size: 22px;
	line-height: 1.28
}

#kazan-guide-2026 .hero-intro p+p{
	margin-top: 22px
}

#kazan-guide-2026 .hero-intro strong{
	font-size: 24px;
	font-weight: 600;
	display: block;
	max-width: 440px
}

#kazan-guide-2026 .navigation-shell{
	position: sticky;
	top: 0;
	z-index: 20;
	max-width: 1288px;
	margin: 0 auto;
	border-radius: 12px 12px 0 0;
	background: var(--paper);
	transition: box-shadow .2s
}

#kazan-guide-2026 .navigation-inner{
	padding: 54px 54px 36px
}

#kazan-guide-2026 .navigation-title{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 46px
}

#kazan-guide-2026 .guide-navigation{
	display: flex;
	/* justify-content:space-between; */
	gap: 14px
}

#kazan-guide-2026 .nav-pill,#kazan-guide-2026 .category-tab{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	border: 1px solid var(--orange);
	border-radius: 40px;
	background: transparent;
	padding: 10px 22px;
	min-height: 48px;
	white-space: nowrap;
	font-size: 20px;
	transition: background .15s,color .15s
}

#kazan-guide-2026 .nav-pill.active,#kazan-guide-2026 .nav-pill:hover,#kazan-guide-2026 .category-tab[aria-selected=true],#kazan-guide-2026 .category-tab:hover{
	background: var(--orange);
	color: white
}

#kazan-guide-2026 .nav-pill.active,#kazan-guide-2026 .category-tab[aria-selected=true]{
	font-weight: 700
}

#kazan-guide-2026 .nav-icon{
	width: 26px;
	height: 26px;
	fill: none;
	stroke: var(--orange);
	stroke-width: 1.8;
	stroke-linejoin: round;
	stroke-linecap: round;
	flex: none
}

#kazan-guide-2026 .active .nav-icon,#kazan-guide-2026 .category-tab[aria-selected=true] .nav-icon,#kazan-guide-2026 .nav-pill:hover .nav-icon,#kazan-guide-2026 .category-tab:hover .nav-icon{
	stroke: white
}

#kazan-guide-2026 .nav-toggle{
	display: none
}

#kazan-guide-2026 .navigation-shell.is-stuck{
	box-shadow: 0 7px 14px #1010450a
}

#kazan-guide-2026 .navigation-shell.is-stuck .navigation-inner{
	padding-top: 20px;
	padding-bottom: 20px
}

#kazan-guide-2026 .navigation-shell.is-stuck .navigation-title{
	display: none
}

#kazan-guide-2026 .forum-section{
	padding-top: 50px;
}

#kazan-guide-2026 .forum-subtitle{
	color: var(--orange);
	font-size: 22px;
	font-weight: 700;
	margin: 26px 0 42px
}

#kazan-guide-2026 .forum-grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px
}

#kazan-guide-2026 .forum-card{
	background: var(--blue);
	color: white;
	border-radius: 12px;
	padding: 26px 18px 16px;
	display: flex;
	flex-direction: column;
	min-height: 370px
}

#kazan-guide-2026 .forum-card-top{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 18px
}

#kazan-guide-2026 .forum-card-top img{
	filter: brightness(0) invert(1);
	width: 120px;
	height: auto
}

#kazan-guide-2026 .outline-label{
	border: 1px solid white;
	border-radius: 40px;
	padding: 12px 24px;
	font-size: 16px;
	font-weight: 700
}

#kazan-guide-2026 .venue,#kazan-guide-2026 .shuttle{
	font-size: 22px;
	font-weight: 700;
	padding: 56px 18px 30px;
	max-width: 460px;
	line-height: 1.3
}

#kazan-guide-2026 .venue{
	text-decoration: underline;
	text-underline-offset: 4px
}

#kazan-guide-2026 .shuttle{
	padding-top: 56px
}

#kazan-guide-2026 .forum-card-bottom{
	font-size: 20px;
	line-height: 1.35;
	padding: 18px;
	background: #fff2;
	border-radius: 8px;
	margin-top: auto
}

#kazan-guide-2026 .forum-card-bottom a{
	text-decoration: underline;
	font-weight: 700;
	text-underline-offset: 3px
}

#kazan-guide-2026 .forum-links{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-top: 28px
}

#kazan-guide-2026 .wide-link{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 128px;
	border: 1px solid var(--orange);
	border-radius: 12px;
	padding: 28px 36px;
	background: white;
	color: var(--orange);
	font-size: 22px;
	font-weight: 700
}

#kazan-guide-2026 .wide-link:hover{
	background: #fff8f3
}

#kazan-guide-2026 .arrow{
	width: 64px;
	height: 48px;
	flex: none;
	fill: none;
	stroke: var(--orange);
	stroke-width: 5;
	stroke-linecap: round;
	stroke-linejoin: round
}

#kazan-guide-2026 .safety{
	margin-top: 66px
}

#kazan-guide-2026 .safety h3{
	margin-bottom: 30px
}

#kazan-guide-2026 .safety-grid{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-template-rows: 1fr 1fr;
	gap: 8px
}

#kazan-guide-2026 .safety-item{
	font-size: 21px;
	line-height: 1.2;
	border: 1px solid var(--orange);
	border-radius: 12px;
	min-height: 144px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 18px
}

#kazan-guide-2026 .safety-item>span{
	color: var(--orange);
	font-size: 40px;
	font-family: Arial;
	line-height: 1;
	display: block;
	margin-bottom: 16px
}

#kazan-guide-2026 .safety-item:first-child{
	grid-row: span 2
}

#kazan-guide-2026 .safety-item:nth-child(3){
	grid-column: 2;
	grid-row: 2
}

#kazan-guide-2026 .safety-item:nth-child(4){
	grid-column: 3;
	grid-row: 1
}

#kazan-guide-2026 .places-section{
	padding-top: 132px
}

#kazan-guide-2026 .places-section:before{
	content: "";
	position: absolute;
	z-index: -1;
	width: 1000px;
	height: 1600px;
	top: 0;
	left: 50%;
	background: radial-gradient(ellipse,#ff8b50b3 0%,#ff9c707a 30%,transparent 68%);
	pointer-events: none
}

#kazan-guide-2026 .section-intro{
	position: relative;
	min-height: 280px;
	margin-bottom: 70px
}

#kazan-guide-2026 .section-intro h2{
	display: flex;
	align-items: center;
	gap: 24px;
	margin-bottom: 46px;
	max-width: 850px
}

#kazan-guide-2026 .question-mark{
	color: var(--orange);
	font-family: Unbounded,Nekst,sans-serif;
	font-size: 34px
}

#kazan-guide-2026 .section-decor{
	position: absolute;
	right: -75px;
	top: -60px;
	width: 400px;
	height: 400px;
	object-fit: contain;
	pointer-events: none
}

#kazan-guide-2026 .intro-copy{
	max-width: 830px;
	position: relative;
	z-index: 1;
	font-size: 20px;
	line-height: 1.3
}

#kazan-guide-2026 .intro-copy p+p{
	margin-top: 30px
}

#kazan-guide-2026 .places-section .section-intro{
	margin-bottom: 100px
}

#kazan-guide-2026 .place-card{
	display: grid;
	grid-template-columns: 40px minmax(0,1fr);
	gap: 26px;
	margin-bottom: 86px
}

#kazan-guide-2026 .card-number{
	font-size: 24px;
	font-weight: 700;
	color: var(--orange);
	line-height: 1.25
}

#kazan-guide-2026 .card-content h3{
	margin-bottom: 38px
}

#kazan-guide-2026 .card-content h3 a:hover{
	text-decoration: underline;
	text-underline-offset: 5px
}

#kazan-guide-2026 .card-photo{
	width: 340px;
	height: 227px;
	object-fit: cover;
	border-radius: 24px;
	margin-bottom: 34px
}

#kazan-guide-2026 .card-description{
	max-width: 840px;
	font-size: 20px;
	line-height: 1.2;
	/* white-space:pre-line; */
}

#kazan-guide-2026 .place-card .card-description{
	max-width: 875px
}

#kazan-guide-2026 .kremlin-card .card-photo{
	width: 100%;
	height: 256px;
	border-radius: 16px
}

#kazan-guide-2026 .kremlin-grid{
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 44px;
	margin-top: 48px
}

#kazan-guide-2026 .kremlin-grid .place-card{
	display: block;
	margin: 0
}

#kazan-guide-2026 .kremlin-grid .card-photo{
	height: 244px;
	width: 100%;
	order: -1
}

#kazan-guide-2026 .kremlin-grid .card-content{
	display: flex;
	flex-direction: column
}

#kazan-guide-2026 .kremlin-grid h3{
	font-size: 19px;
	margin-bottom: 16px
}

#kazan-guide-2026 .kremlin-grid .card-description{
	font-size: 18px;
	line-height: 1.35
}

#kazan-guide-2026 .country-title{
	color: var(--blue);
	font-size: 24px;
	margin: 85px 0 42px
}

#kazan-guide-2026 .show-more{
	display: none;
	background: transparent;
	border: 1px solid var(--orange);
	border-radius: 30px;
	color: var(--orange);
	font-size: 20px;
	min-width: 236px;
	padding: 11px 35px;
	margin: 0 0 105px;
	transition: background .2s
}

#kazan-guide-2026 .show-more:hover{
	background: var(--orange);
	color: white
}

.js #kazan-guide-2026 .show-more{
	display: block
}

.js #kazan-guide-2026 .more-places:not(.is-open){
	display: none
}

#kazan-guide-2026 .show-more[hidden]{
	display: none
}

#kazan-guide-2026 .places-map{
	background: transparent;
	border-color: var(--blue);
	color: var(--blue);
	width: 570px;
	min-height: 105px;
	padding: 24px 35px
}

#kazan-guide-2026 .places-map .arrow{
	width: 42px;
	stroke-width: 4
}

#kazan-guide-2026 .eat-section{
	padding-top: 160px
}

#kazan-guide-2026 .eat-section .section-intro{
	min-height: 190px;
	margin-bottom: 44px
}

#kazan-guide-2026 .eat-section .intro-copy{
	max-width: 800px
}

#kazan-guide-2026 .eat-section .section-decor{
	top: -65px
}

#kazan-guide-2026 .category-tabs{
	display: flex;
	gap: 14px;
	margin-bottom: 60px;
	position: relative;
	z-index: 2
}

#kazan-guide-2026 .category-tab{
	padding: 10px 22px;
	gap: 14px
}

#kazan-guide-2026 .category-title{
	text-transform: uppercase;
	font-size: 24px;
	margin-bottom: 46px
}

#kazan-guide-2026 .category-panel{
	outline: none
}

.js #kazan-guide-2026 .category-panel[data-inactive]{
	display: none
}

#kazan-guide-2026 .text-card{
	display: grid;
	grid-template-columns: 40px minmax(0,1fr);
	gap: 26px;
	margin-bottom: 54px;
	max-width: 920px
}

#kazan-guide-2026 .text-card h3{
	margin-bottom: 22px
}

#kazan-guide-2026 .text-card .card-description{
	max-width: 800px;
	font-size: 20px;
	line-height: 1.25
}

#kazan-guide-2026 .address{
	font-size: 15px;
	line-height: 1.5;
	margin-top: 18px;
	white-space: pre-line
}

#kazan-guide-2026 .more-link{
	display: inline-block;
	margin-top: 14px;
	font-size: 16px;
	color: var(--orange);
	text-decoration: underline;
	text-underline-offset: 3px
}

#kazan-guide-2026 .more-link:hover{
	color: var(--blue)
}

#kazan-guide-2026 .family-intro{
	max-width: 850px;
	margin-bottom: 46px
}

#kazan-guide-2026 .family-intro h4{
	font-size: 24px;
	margin-bottom: 15px
}

#kazan-guide-2026 .family-intro p{
	font-size: 21px
}

#kazan-guide-2026 .category-panel>.category-title:not(:first-child){
	margin-top: 74px
}

#kazan-guide-2026 .events-section{
	padding-top: 110px
}

#kazan-guide-2026 .events-section .section-intro{
	margin-bottom: 54px;
	min-height: 240px
}

#kazan-guide-2026 .events-section .intro-copy{
	max-width: 840px
}

#kazan-guide-2026 .events-section .section-decor{
	width: 440px;
	height: 440px;
	right: -110px
}

#kazan-guide-2026 .event-card h3{
	margin-bottom: 35px
}

#kazan-guide-2026 .event-card .card-photo{
	object-position: center 40%;
	height: 222px
}

#kazan-guide-2026 .event-card .address{
	margin-top: 32px
}

#kazan-guide-2026 .buy-section{
	padding-top: 140px
}

#kazan-guide-2026 .buy-section .section-intro{
	min-height: 160px;
	margin-bottom: 54px
}

#kazan-guide-2026 .buy-section .intro-copy{
	max-width: 820px
}

#kazan-guide-2026 .buy-section .section-decor{
	top: -65px;
	right: -85px
}

#kazan-guide-2026 .shopping-list .text-card{
	margin-bottom: 48px
}

#kazan-guide-2026 .map-section{
	padding-top: 120px
}

#kazan-guide-2026 .map-section h2{
	margin-bottom: 42px
}

#kazan-guide-2026 .map-embed{
	height: 450px;
	position: relative;
	border-radius: 12px;
	overflow: hidden;
	background: #dedde5
}

#kazan-guide-2026 .map-preview{
	display: block;
	width: 100%;
	height: 100%
}

#kazan-guide-2026 .map-preview img{
	height: 100%;
	width: 100%;
	object-fit: cover;
	filter: grayscale(1)
}

#kazan-guide-2026 .map-activate{
	position: absolute;
	left: 50%;
	bottom: 24px;
	transform: translateX(-50%);
	border: 1px solid var(--orange);
	border-radius: 30px;
	padding: 13px 24px;
	background: white;
	color: var(--orange);
	font-size: 17px;
	white-space: nowrap;
	box-shadow: 0 4px 20px #0001
}

#kazan-guide-2026 .map-embed iframe{
	border: 0;
	width: 100%;
	height: 100%;
	filter: grayscale(1)
}

#kazan-guide-2026 .closing{
	position: relative;
	min-height: 550px;
	padding-top: 100px;
	text-align: center
}

#kazan-guide-2026 .closing:before{
	content: "";
	position: absolute;
	inset: 0 -70px;
	background: radial-gradient(ellipse at center,#ff9c7066,transparent 64%);
	z-index: -1
}

#kazan-guide-2026 .closing h2{
	color: var(--orange);
	font-size: 48px;
	font-weight: 700;
	line-height: 1.1
}

#kazan-guide-2026 .closing img{
	margin: 50px auto 0
}

#kazan-guide-2026 .back-top{
	position: fixed;
	right: 20px;
	bottom: 20px;
	background: var(--orange);
	color: white;
	width: 42px;
	height: 42px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 25;
	font-size: 25px;
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s
}

#kazan-guide-2026 .back-top.visible{
	opacity: 1;
	pointer-events: auto
}

@media (min-width: 1600px) {
	#kazan-guide-2026 .hero{
		background:radial-gradient(ellipse at 76% 26%,#ffa77d 0,transparent 31%),linear-gradient(180deg,#fe5000 0%,#fe5000 55%,#fc8e60 85%,#e6e5f1 115%)
	}
}

@media (max-width: 1300px) and (min-width:768px) {
	#kazan-guide-2026 .content-wrap,#kazan-guide-2026 .header-inner{
		width:calc(100% - 100px)
	}

	#kazan-guide-2026 .hero-intro,#kazan-guide-2026 .navigation-shell{
		width: calc(100% - 60px)
	}

	#kazan-guide-2026 .hero-intro{
		margin-top: 40px
	}

	#kazan-guide-2026 .hero h1{
		font-size: 70px
	}

	#kazan-guide-2026 .hero-art-left{
		left: -45px;
		width: 400px
	}

	#kazan-guide-2026 .hero-art-right{
		left: auto;
		right: -40px;
		width: 380px
	}

	#kazan-guide-2026 .header-links{
		gap: 16px
	}

	#kazan-guide-2026 .header-phone{
		font-size: 18px
	}

	#kazan-guide-2026 .brand{
		width: 190px
	}

	#kazan-guide-2026 .hero-title>p{
		font-size: 30px
	}

	#kazan-guide-2026 .hero-intro p{
		font-size: 19px
	}

	#kazan-guide-2026 .hero-intro strong{
		font-size: 22px
	}

	#kazan-guide-2026 .nav-pill,#kazan-guide-2026 .category-tab{
		font-size: 16px;
		/* padding:9px 15px; */
		gap: 9px;
	}

	#kazan-guide-2026 .navigation-inner{
		padding: 40px 20px 30px
	}

	#kazan-guide-2026 .intro-copy{
		max-width: 70%;
		font-size: 20px
	}

	#kazan-guide-2026 .section-decor{
		right: -50px;
		width: 32%;
		height: auto
	}

	#kazan-guide-2026 .section-intro h2{
		max-width: 70%
	}

	#kazan-guide-2026 .forum-card-bottom{
		font-size: 18px
	}

	#kazan-guide-2026 .venue,#kazan-guide-2026 .shuttle{
		font-size: 20px
	}

	#kazan-guide-2026 .wide-link{
		padding: 24px;
		font-size: 19px
	}

	#kazan-guide-2026 .arrow{
		width: 48px
	}

	#kazan-guide-2026 .safety-item{
		font-size: 18px
	}

	#kazan-guide-2026 .events-section .section-decor{
		width: 34%;
		height: auto;
		right: -60px
	}

	#kazan-guide-2026 .events-section .intro-copy,#kazan-guide-2026 .eat-section .intro-copy,#kazan-guide-2026 .buy-section .intro-copy{
		max-width: 72%
	}

	#kazan-guide-2026 .header-links{
		font-size: 12px
	}
}

@media (max-width: 767px) {
	html.kazan-guide-page{
		scroll-padding-top:160px
	}

	#kazan-guide-2026{
		font-size: 16px
	}

	#kazan-guide-2026 .content-wrap{
		width: auto;
		margin: 0 20px
	}

	#kazan-guide-2026 h2{
		font-size: 26px
	}

	#kazan-guide-2026 h3{
		font-size: 20px
	}

	#kazan-guide-2026 .site-header{
		position: fixed;
		top: 0;
		background: var(--paper);
		color: var(--ink);
		height: 70px;
		box-shadow: 0 3px 12px #20204007;
		z-index: 30
	}

	#kazan-guide-2026 .header-inner{
		height: 100%;
		padding: 0 20px;
		gap: 10px
	}

	#kazan-guide-2026 .brand{
		width: 155px
	}

	#kazan-guide-2026 .brand img{
		filter: none
	}

	#kazan-guide-2026 .header-phone{
		font-size: 13px
	}

	#kazan-guide-2026 .header-links{
		display: none
	}

	#kazan-guide-2026 .hero{
		height: auto;
		min-height: 670px;
		padding: 104px 20px 40px;
		background: var(--paper);
		color: var(--blue)
	}

	#kazan-guide-2026 .hero-title{
		text-align: left;
		margin: 0;
		max-width: 100%;
		z-index: 2
	}

	#kazan-guide-2026 .hero h1{
		font-family: Unbounded,Nekst,sans-serif;
		font-size: 34px;
		line-height: 1.1;
		letter-spacing: 0;
		text-transform: none;
		color: var(--orange)
	}

	#kazan-guide-2026 .hero-title>p{
		font-size: 21px;
		line-height: 1.4;
		margin-top: 26px;
		color: var(--orange);
		max-width: 275px
	}

	#kazan-guide-2026 .hero-art-left{
		display: none
	}

	#kazan-guide-2026 .hero-art-right{
		width: 215px;
		height: 230px;
		top: 180px;
		left: auto;
		right: -62px;
		opacity: .95
	}

	#kazan-guide-2026 .hero-intro{
		margin-top: 110px;
		display: block;
		max-width: 100%;
		position: relative
	}

	#kazan-guide-2026 .hero-intro>div{
		border: 0;
		background: none;
		padding: 0;
		min-height: 0;
		margin-bottom: 24px
	}

	#kazan-guide-2026 .hero-intro p{
		font-size: 16px;
		line-height: 1.55
	}

	#kazan-guide-2026 .hero-intro p+p{
		margin-top: 8px
	}

	#kazan-guide-2026 .hero-intro strong{
		font-size: 18px;
		line-height: 1.4;
		max-width: 100%
	}

	#kazan-guide-2026 .navigation-shell{
		top: 70px;
		border-radius: 0;
		max-width: 100%;
		margin: 0;
		background: var(--paper)
	}

	#kazan-guide-2026 .navigation-inner,#kazan-guide-2026 .navigation-shell.is-stuck .navigation-inner{
		padding: 16px 20px
	}

	#kazan-guide-2026 .navigation-title,#kazan-guide-2026 .navigation-shell.is-stuck .navigation-title{
		display: flex;
		margin: 0
	}

	#kazan-guide-2026 .navigation-title h2{
		font-size: 26px
	}

	#kazan-guide-2026 .nav-toggle{
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 6px;
		padding: 8px 0 8px 12px;
		border: 0;
		background: transparent;
		width: 38px;
		height: 38px
	}

	#kazan-guide-2026 .nav-toggle span{
		height: 2px;
		width: 24px;
		background: var(--blue)
	}

	#kazan-guide-2026 .guide-navigation{
		display: none;
		flex-direction: column;
		align-items: stretch;
		margin-top: 20px;
		gap: 8px
	}

	#kazan-guide-2026 .navigation-shell.open .guide-navigation{
		display: flex
	}

	#kazan-guide-2026 .nav-pill{
		font-size: 16px;
		min-height: 42px;
		justify-content: flex-start;
		padding: 8px 18px
	}

	#kazan-guide-2026 .nav-icon{
		width: 23px;
		height: 23px
	}

	#kazan-guide-2026 .forum-section{
		padding-top: 45px
	}

	#kazan-guide-2026 .forum-subtitle{
		font-size: 16px;
		margin: 20px 0 24px
	}

	#kazan-guide-2026 .forum-grid{
		display: block
	}

	#kazan-guide-2026 .forum-card{
		padding: 20px 12px 12px;
		min-height: 295px;
		margin-bottom: 14px
	}

	#kazan-guide-2026 .outline-label{
		font-size: 14px;
		padding: 8px 14px
	}

	#kazan-guide-2026 .forum-card-top{
		padding: 0 8px
	}

	#kazan-guide-2026 .forum-card-top img{
		width: 90px
	}

	#kazan-guide-2026 .venue,#kazan-guide-2026 .shuttle{
		font-size: 18px;
		max-width: 100%;
		padding: 38px 10px 25px
	}

	#kazan-guide-2026 .forum-card-bottom{
		font-size: 16px;
		padding: 15px
	}

	#kazan-guide-2026 .forum-links{
		grid-template-columns: 1fr;
		gap: 12px;
		margin-top: 22px
	}

	#kazan-guide-2026 .wide-link{
		min-height: 83px;
		padding: 20px;
		font-size: 17px;
		border-radius: 10px
	}

	#kazan-guide-2026 .arrow{
		width: 38px;
		height: 32px;
		stroke-width: 4
	}

	#kazan-guide-2026 .safety{
		margin-top: 42px
	}

	#kazan-guide-2026 .safety h3{
		font-size: 20px;
		line-height: 1.3;
		margin-bottom: 22px
	}

	#kazan-guide-2026 .safety-grid{
		grid-template-columns: 1fr;
		gap: 10px;
		display: flex;
		flex-direction: column;
	}

	#kazan-guide-2026 .safety-item,#kazan-guide-2026 .safety-item:first-child,#kazan-guide-2026 .safety-item:nth-child(3),#kazan-guide-2026 .safety-item:nth-child(4){
		/* grid-column:auto; */
		/* grid-row:auto; */
		min-height: 100px;
		padding: 16px;
		/* display: flex; */
		/* grid-template-columns:25px 1fr; */
		gap: 12px;
		align-items: start;
		font-size: 16px;
		line-height: 1.4;
		flex-direction: row;
		justify-content: start;
	}

	#kazan-guide-2026 .safety-item>span{
		font-size: 28px;
		margin: 0
	}

	#kazan-guide-2026 .places-section{
		padding-top: 75px
	}

	#kazan-guide-2026 .section-intro{
		min-height: 0;
		margin-bottom: 42px!important
	}

	#kazan-guide-2026 .section-intro h2{
		font-size: 26px;
		gap: 12px;
		margin-bottom: 26px;
		max-width: 100%
	}

	#kazan-guide-2026 .question-mark{
		font-size: 27px
	}

	#kazan-guide-2026 .section-decor{
		width: 145px!important;
		height: 165px!important;
		top: 20px!important;
		right: -15px!important;
		opacity: .98
	}

	#kazan-guide-2026 .intro-copy{
		max-width: 100%;
		font-size: 16px;
		line-height: 1.5
	}

	#kazan-guide-2026 .intro-copy p:first-child{
		padding-right: 100px;
		min-height: 105px
	}

	#kazan-guide-2026 .intro-copy p+p{
		margin-top: 22px
	}

	#kazan-guide-2026 .place-card{
		grid-template-columns: 25px minmax(0,1fr);
		gap: 12px;
		margin-bottom: 44px
	}

	#kazan-guide-2026 .card-number{
		font-size: 19px
	}

	#kazan-guide-2026 .card-content h3{
		font-size: 19px;
		margin-bottom: 22px;
		line-height: 1.25
	}

	#kazan-guide-2026 .card-photo{
		width: 100%;
		height: auto;
		aspect-ratio: 1.5;
		object-fit: cover;
		border-radius: 16px;
		margin-bottom: 22px
	}

	#kazan-guide-2026 .card-description,#kazan-guide-2026 .place-card .card-description{
		font-size: 16px;
		line-height: 1.45;
		max-width: 100%
	}

	#kazan-guide-2026 .kremlin-card .card-photo{
		height: auto;
		aspect-ratio: 2.5
	}

	#kazan-guide-2026 .kremlin-grid{
		display: block;
		margin-top: 30px
	}

	#kazan-guide-2026 .kremlin-grid .place-card{
		margin-bottom: 30px
	}

	#kazan-guide-2026 .kremlin-grid .card-photo{
		height: auto;
		aspect-ratio: 1.5
	}

	#kazan-guide-2026 .kremlin-grid .card-description{
		font-size: 16px
	}

	#kazan-guide-2026 .kremlin-grid h3{
		font-size: 19px
	}

	#kazan-guide-2026 .country-title{
		font-size: 21px;
		margin: 40px 0 30px
	}

	#kazan-guide-2026 .show-more{
		font-size: 16px;
		min-width: 170px;
		padding: 10px 22px;
		margin: 0 0 40px
	}

	#kazan-guide-2026 .places-map{
		width: 100%;
		font-size: 16px;
		min-height: 90px;
		padding: 20px
	}

	#kazan-guide-2026 .places-map .arrow{
		width: 32px
	}

	#kazan-guide-2026 .eat-section{
		padding-top: 80px
	}

	#kazan-guide-2026 .eat-section .section-intro{
		min-height: 0
	}

	#kazan-guide-2026 .eat-section .intro-copy,#kazan-guide-2026 .events-section .intro-copy,#kazan-guide-2026 .buy-section .intro-copy{
		max-width: 100%
	}

	#kazan-guide-2026 .category-tabs{
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		margin-bottom: 34px
	}

	#kazan-guide-2026 .category-tab{
		font-size: 13px;
		padding: 7px 12px;
		gap: 7px;
		min-height: 37px
	}

	#kazan-guide-2026 .category-tab .nav-icon{
		width: 19px;
		height: 19px
	}

	#kazan-guide-2026 .category-title{
		font-size: 20px;
		margin-bottom: 28px
	}

	#kazan-guide-2026 .text-card{
		grid-template-columns: 25px minmax(0,1fr);
		gap: 12px;
		margin-bottom: 35px;
		max-width: 100%
	}

	#kazan-guide-2026 .text-card h3{
		font-size: 19px;
		margin-bottom: 14px
	}

	#kazan-guide-2026 .text-card .card-description{
		font-size: 16px;
		line-height: 1.45
	}

	#kazan-guide-2026 .address{
		font-size: 13px;
		margin-top: 14px
	}

	#kazan-guide-2026 .more-link{
		font-size: 14px;
		margin-top: 10px
	}

	#kazan-guide-2026 .family-intro h4{
		font-size: 20px
	}

	#kazan-guide-2026 .family-intro p{
		font-size: 16px;
		line-height: 1.45
	}

	#kazan-guide-2026 .family-intro{
		margin-bottom: 30px
	}

	#kazan-guide-2026 .events-section{
		padding-top: 65px
	}

	#kazan-guide-2026 .events-section .section-intro{
		min-height: 0
	}

	#kazan-guide-2026 .events-section .intro-copy p:first-child{
		padding-right: 95px;
		min-height: 145px
	}

	#kazan-guide-2026 .event-card h3{
		font-size: 20px;
		margin-bottom: 22px;
		max-width: 300px
	}

	#kazan-guide-2026 .event-card .card-photo{
		width: 100%;
		height: auto;
		aspect-ratio: 1.53;
		object-position: 50% 35%
	}

	#kazan-guide-2026 .event-card .address{
		margin-top: 20px
	}

	#kazan-guide-2026 .buy-section{
		padding-top: 75px
	}

	#kazan-guide-2026 .buy-section .section-intro{
		min-height: 0
	}

	#kazan-guide-2026 .shopping-list .text-card{
		margin-bottom: 35px
	}

	#kazan-guide-2026 .map-section{
		padding-top: 65px
	}

	#kazan-guide-2026 .map-section h2{
		font-size: 24px;
		line-height: 1.25;
		margin-bottom: 28px
	}

	#kazan-guide-2026 .map-embed{
		height: 350px
	}

	#kazan-guide-2026 .map-activate{
		font-size: 13px;
		padding: 12px 16px;
		bottom: 16px;
		max-width: 95%
	}

	#kazan-guide-2026 .closing{
		min-height: 360px;
		padding-top: 65px
	}

	#kazan-guide-2026 .closing h2{
		font-size: 29px;
		line-height: 1.15
	}

	#kazan-guide-2026 .closing img{
		width: 145px;
		height: 145px;
		margin-top: 30px
	}

	#kazan-guide-2026 .back-top{
		width: 36px;
		height: 36px;
		right: 12px;
		bottom: 12px
	}

	#kazan-guide-2026 .places-section:before{
		width: 600px;
		height: 800px;
		left: 0
	}

	#kazan-guide-2026 .closing:before{
		inset: 0 -20px
	}

	.js #kazan-guide-2026 .guide-navigation{
		display: none
	}

	.js #kazan-guide-2026 .navigation-shell.open .guide-navigation{
		display: flex
	}

	html.kazan-guide-page:not(.js) .guide-navigation{
		display: flex
	}
}

@media (max-width: 370px) {
	#kazan-guide-2026 .header-inner{
		padding:0 15px
	}

	#kazan-guide-2026 .brand{
		width: 139px
	}

	#kazan-guide-2026 .header-phone{
		font-size: 12px
	}

	#kazan-guide-2026 .hero h1{
		font-size: 30px
	}

	#kazan-guide-2026 .content-wrap{
		margin: 0 16px
	}

	#kazan-guide-2026 .category-tab{
		font-size: 12px;
		padding: 7px 10px;
		gap: 5px
	}

	#kazan-guide-2026 .hero-title>p{
		font-size: 19px
	}

	#kazan-guide-2026 .closing h2{
		font-size: 27px
	}
}

@media (prefers-reduced-motion:reduce) {
	html.kazan-guide-page{
		scroll-behavior: auto
	}

	#kazan-guide-2026 *,#kazan-guide-2026 *:before,#kazan-guide-2026 *:after{
		transition: none!important
	}
}

/* The fixed desktop navigation footprint prevents anchor jumps when it compacts. */
@media (min-width: 768px) {
	#kazan-guide-2026 .hero{
		background:none
	}

	#kazan-guide-2026 .hero:before{
		content: "";
		position: absolute;
		inset: 0 0 -185px;
		background: radial-gradient(ellipse at 87% 26%,#ffa77d 0,transparent 31%),linear-gradient(180deg,#fe5000 0%,#fe5000 43%,#fc8e60 72%,#e6e5f1 100%)
	}

	#kazan-guide-2026 .hero-intro{
		margin-top: 25px
	}

	#kazan-guide-2026 .hero-intro p{
		font-size: 21px
	}

	#kazan-guide-2026 .hero-intro strong{
		max-width: 380px
	}

	#kazan-guide-2026 .hero-intro>div:nth-child(2) strong{
		max-width: 350px
	}

	#kazan-guide-2026 .navigation-shell{
		height: 225px;
		background: transparent;
		pointer-events: none;
		box-shadow: none!important
	}

	#kazan-guide-2026 .navigation-inner{
		background: var(--paper);
		border-radius: 12px 12px 0 0;
		pointer-events: auto
	}

	#kazan-guide-2026 .navigation-shell.is-stuck .navigation-inner{
		box-shadow: 0 7px 14px #1010450a
	}
}

/* Preserve the compact recommendation grid in the desktop design. */
@media (min-width: 768px) {
	#kazan-guide-2026 .safety-item{
		font-size:18px;
		line-height: 1.2
	}

	#kazan-guide-2026 .safety-item>span{
		font-size: 28px;
		margin-bottom: 12px
	}

	#kazan-guide-2026 .places-section,#kazan-guide-2026 .closing{
		isolation: isolate
	}
}

@media (min-width: 768px) and (max-width:1000px) {
	#kazan-guide-2026 .guide-navigation{
		gap:8px
	}

	#kazan-guide-2026 .nav-pill{
		font-size: 13px;
		padding: 9px 10px;
		gap: 6px
	}

	#kazan-guide-2026 .nav-pill .nav-icon{
		width: 20px;
		height: 20px
	}

	#kazan-guide-2026 .header-links{
		display: none
	}

	#kazan-guide-2026 .hero h1{
		font-size: 62px
	}

	#kazan-guide-2026 .hero-art-left{
		width: 330px;
		left: -75px
	}

	#kazan-guide-2026 .hero-art-right{
		width: 320px;
		right: -80px
	}

	#kazan-guide-2026 .hero-intro p{
		font-size: 18px
	}

	#kazan-guide-2026 .hero-intro strong{
		font-size: 21px
	}
}

@media (min-width: 768px) and (max-width:1100px) {
	#kazan-guide-2026 .guide-navigation{
		flex-wrap:wrap;
		justify-content: flex-start;
		gap: 8px
	}

	#kazan-guide-2026 .nav-pill{
		font-size: 14px;
		padding: 9px 12px;
		gap: 7px
	}

	#kazan-guide-2026 .nav-pill .nav-icon{
		width: 20px;
		height: 20px
	}

	#kazan-guide-2026 .navigation-inner{
		padding-top: 30px
	}

	#kazan-guide-2026 .navigation-title{
		margin-bottom: 24px
	}
}

/* Original Figma assets: masks only change active/inactive color, never geometry. */
#kazan-guide-2026 .nav-icon{
	width: 23px;
	height: 23px;
	background: var(--orange);
	mask: var(--icon) center/contain no-repeat;
	-webkit-mask: var(--icon) center/contain no-repeat;
}

#kazan-guide-2026 .active .nav-icon,#kazan-guide-2026 .nav-pill:hover .nav-icon,#kazan-guide-2026 .category-tab[aria-selected=true] .nav-icon,#kazan-guide-2026 .category-tab:hover .nav-icon{
	background: white;
}

#kazan-guide-2026 .question-mark{
	width: 24px;
	height: 23px;
	flex: none;
	object-fit: contain
}

#kazan-guide-2026 .check-icon{
	width: 27px;
	height: 20px;
	margin-bottom: 16px
}

#kazan-guide-2026 .arrow{
	width: 62px;
	height: 50px;
	object-fit: contain
}

#kazan-guide-2026 .brand picture{
	display: block
}

#kazan-guide-2026 .brand img{
	filter: none
}

#kazan-guide-2026 .back-top{
	width: auto;
	padding: 0 12px;
	font-family: Nekst,Arial,sans-serif;
	font-size: 14px
}

@media (max-width: 767px) {
	#kazan-guide-2026 .nav-toggle{
		width:auto;
		min-width: 50px;
		padding: 0;
		font-size: 16px;
		color: var(--blue)
	}

	#kazan-guide-2026 .check-icon{
		margin: 0
	}

	#kazan-guide-2026 .question-mark{
		width: 24px;
		height: 23px
	}

	#kazan-guide-2026 .arrow{
		width: 38px;
		height: 32px
	}
}

/* Figma: scenery behind glass, dragon in front; text stays above decoration. */
#kazan-guide-2026 .hero-art picture{
	display: block;
	width: 100%;
	height: 100%
}

#kazan-guide-2026 .hero-art-foreground{
	display: none
}

@media (min-width: 768px) {
	#kazan-guide-2026 .hero{
		isolation:isolate;
		height: auto;
		min-height: 700px;
		padding-bottom: 30px
	}

	#kazan-guide-2026 .hero:before{
		z-index: 0;
		pointer-events: none
	}

	#kazan-guide-2026 .hero-title{
		z-index: 4
	}

	#kazan-guide-2026 .hero-intro{
		z-index: auto;
		margin-top: 58px;
		grid-template-columns: 628fr 643fr;
		max-width: 1287px
	}

	#kazan-guide-2026 .hero-intro>div{
		position: relative;
		z-index: auto;
		background: none;
		border: 0;
		isolation: unset
	}

	#kazan-guide-2026 .hero-intro>div:before{
		content: "";
		position: absolute;
		inset: 0;
		z-index: 2;
		border: 1px solid #fff;
		border-radius: 12px;
		background: rgb(230 229 241 / 20%);
		backdrop-filter: blur(44.3px);
		-webkit-backdrop-filter: blur(44.3px);
		pointer-events: none
	}

	#kazan-guide-2026 .hero-intro>div:nth-child(2):before{
		backdrop-filter: blur(16px);
		-webkit-backdrop-filter: blur(16px)
	}

	#kazan-guide-2026 .hero-intro p{
		position: relative;
		z-index: 4
	}

	#kazan-guide-2026 .hero-art-foreground{
		display: block;
		z-index: 3
	}
}

/* Review: smaller venue address, retaining the mobile text size. */
#kazan-guide-2026 .forum-card:first-child .forum-card-bottom{
}

@media (max-width: 767px) {
	#kazan-guide-2026 .forum-card:first-child .forum-card-bottom{
		font-size:16px
	}
}

/* Mobile cover: a compact illustrated scene and quiet translucent cards. */
@media (max-width: 767px) {
	#kazan-guide-2026 .hero{
		isolation:isolate;
		overflow: hidden;
		padding: 110px 20px 32px;
		min-height: 0;
		color: var(--ink);
		background: radial-gradient(ellipse 90% 36% at 100% 17%,#ffbd99 0%,transparent 75%),linear-gradient(180deg,#fe5000 0%,#ff743b 32%,#f6c3ac 54%,var(--paper) 88%)
	}

	#kazan-guide-2026 .hero-title{
		text-align: center;
		margin: 0 auto;
		max-width: 480px;
		z-index: 4
	}

	#kazan-guide-2026 .hero h1{
		font-size: clamp(28px,7.8vw,46px);
		line-height: 1.08;
		letter-spacing: -.035em;
		color: white
	}

	#kazan-guide-2026 .hero-title>p{
		max-width: none;
		margin-top: 20px;
		font-size: clamp(17px,4.3vw,23px);
		line-height: 1.4;
		font-weight: 400;
		color: white;
		letter-spacing: .025em
	}

	#kazan-guide-2026 .hero-art-left{
		display: block;
		top: 240px;
		left: calc(50% - 208px);
		width: 250px;
		height: 204px;
		opacity: 1
	}

	#kazan-guide-2026 .hero-art-right{
		top: 238px;
		left: calc(50% + 10px);
		right: auto;
		width: 220px;
		height: 205px;
		opacity: 1
	}

	#kazan-guide-2026 .hero-art-foreground{
		display: none
	}

	#kazan-guide-2026 .hero-intro{
		margin: 184px auto 0;
		max-width: 480px;
		display: grid;
		grid-template-columns: 1fr;
		gap: 12px;
		z-index: 3
	}

	#kazan-guide-2026 .hero-intro>div{
		margin: 0;
		padding: 21px 22px 23px;
		min-height: 0;
		border: 1px solid #ffffffbf;
		border-radius: 18px;
		background: rgb(255 255 255 / 55%);
		box-shadow: 0 8px 28px #91462308;
		backdrop-filter: blur(18px);
		-webkit-backdrop-filter: blur(18px)
	}

	#kazan-guide-2026 .hero-intro strong{
		font-size: 18px;
		font-weight: 600;
		line-height: 1.3;
		max-width: 100%;
		color: #282438
	}

	#kazan-guide-2026 .hero-intro p{
		font-size: 16px;
		line-height: 1.5;
		color: #373244
	}

	#kazan-guide-2026 .hero-intro p+p{
		margin-top: 12px
	}
}

@media (max-width: 370px) {
	#kazan-guide-2026 .hero{
		padding-left:16px;
		padding-right: 16px
	}

	#kazan-guide-2026 .hero-art-left{
		left: calc(50% - 185px);
		width: 225px
	}

	#kazan-guide-2026 .hero-art-right{
		left: calc(50% + 2px);
		width: 200px
	}

	#kazan-guide-2026 .hero-intro>div{
		padding: 19px 18px 21px
	}
}

/* Mobile navigation follows the original guide: expanded in flow, burger when pinned. */
@media (max-width: 767px) {
	#kazan-guide-2026 .site-header{
		box-shadow:none
	}

	#kazan-guide-2026 .navigation-inner,#kazan-guide-2026 .navigation-shell.is-stuck .navigation-inner{
		padding: 10px 20px 16px
	}

	#kazan-guide-2026 .navigation-title h2{
		font-size: 28px
	}

	#kazan-guide-2026 .navigation-title{
		min-height: 38px
	}

	#kazan-guide-2026 .nav-toggle{
		display: none;
		width: 42px;
		min-width: 42px;
		height: 38px;
		padding: 7px 10px;
		gap: 6px;
		align-items: center;
		justify-content: center
	}

	#kazan-guide-2026 .nav-toggle span{
		display: block;
		flex: none;
		width: 22px;
		height: 2px;
		background: var(--blue);
		transition: transform .2s,opacity .2s
	}

	#kazan-guide-2026 .navigation-shell.is-stuck .nav-toggle{
		display: flex
	}

	#kazan-guide-2026 .navigation-shell.open .nav-toggle span:nth-child(1){
		transform: translateY(8px) rotate(45deg)
	}

	#kazan-guide-2026 .navigation-shell.open .nav-toggle span:nth-child(2){
		opacity: 0
	}

	#kazan-guide-2026 .navigation-shell.open .nav-toggle span:nth-child(3){
		transform: translateY(-8px) rotate(-45deg)
	}

	.js #kazan-guide-2026 .navigation-shell:not(.is-stuck) .guide-navigation{
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 6px;
		margin-top: 20px
	}

	.js #kazan-guide-2026 .navigation-shell.is-stuck:not(.open) .guide-navigation{
		display: none
	}

	.js #kazan-guide-2026 .navigation-shell.is-stuck.open .guide-navigation{
		display: flex;
		align-items: flex-start;
		gap: 8px;
		max-height: calc(100dvh - 160px);
		overflow-y: auto
	}

	#kazan-guide-2026 .nav-pill,#kazan-guide-2026 .category-tab{
		/* border-color:var(--blue); */
		/* color:var(--blue); */
		font-size: 18px;
		line-height: 1;
		padding: 8px 11px;
		gap: 8px;
		min-height: 40px
	}

	#kazan-guide-2026 .nav-pill.active,#kazan-guide-2026 .nav-pill:hover,#kazan-guide-2026 .category-tab[aria-selected=true],#kazan-guide-2026 .category-tab:hover{
		/* background:var(--blue); */
		color: white
	}

	#kazan-guide-2026 .nav-pill .nav-icon,#kazan-guide-2026 .category-tab .nav-icon{
		/* background:var(--blue); */
		width: 24px;
		height: 24px
	}

	#kazan-guide-2026 .nav-pill.active .nav-icon,#kazan-guide-2026 .nav-pill:hover .nav-icon,#kazan-guide-2026 .category-tab[aria-selected=true] .nav-icon,#kazan-guide-2026 .category-tab:hover .nav-icon{
		background: white
	}

	#kazan-guide-2026 .category-tabs{
		gap: 6px
	}
}

@media (max-width: 767px) {
	#kazan-guide-2026 .category-tab{
		font-size:18px;
		padding: 8px 10px;
		gap: 6px
	}

	#kazan-guide-2026 .category-tab[aria-selected=true]{
		font-weight: 400
	}
}

/* Original mobile guide: normal flow before the trigger, fixed below the header after it. */
@media (max-width: 767px) {
	.js #kazan-guide-2026 .navigation-shell{
		position:relative;
		top: auto;
		height: auto;
		background: var(--paper);
		pointer-events: auto;
		box-shadow: none
	}

	.js #kazan-guide-2026 .navigation-shell.is-stuck{
		position: fixed;
		top: 70px;
		left: 0;
		right: 0;
		width: 100%;
		margin: 0;
		z-index: 20
	}

	#kazan-guide-2026 .navigation-inner{
		background: var(--paper)
	}

	#kazan-guide-2026 .navigation-shell.is-stuck .navigation-inner{
		box-shadow: 0 5px 14px #10104508
	}
}

/* Mobile header blends into the cover; scrolling reveals frosted surfaces. */
@media (max-width: 767px) {
	#kazan-guide-2026 .site-header{
		background:transparent;
		box-shadow: none;
		transition: background .2s,box-shadow .2s
	}

	#kazan-guide-2026 .site-header.is-scrolled{
		background: rgb(230 229 241 / 76%);
		backdrop-filter: blur(20px);
		-webkit-backdrop-filter: blur(20px);
		box-shadow: 0 1px 0 #ffffff66
	}

	.js #kazan-guide-2026 .navigation-shell.is-stuck{
		background: transparent
	}

	#kazan-guide-2026 .navigation-shell.is-stuck .navigation-inner{
		background: rgb(230 229 241 / 76%);
		backdrop-filter: blur(20px);
		-webkit-backdrop-filter: blur(20px);
		border-bottom: 1px solid #ffffff80;
		box-shadow: 0 6px 20px #20184008
	}
}

@media (max-width: 767px) {
	#kazan-guide-2026 .site-header:not(.is-scrolled){
		color:white
	}

	#kazan-guide-2026 .site-header:not(.is-scrolled) .brand img{
		filter: brightness(0) invert(1)
	}
}


/* Shared body copy typography; display text and controls keep their own styles. */
#kazan-guide-2026 .content-wrap :is(.intro-copy p, .card-description, .address, .family-intro p, .safety-item){
	font-family: Nekst,Arial,sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 26px;
	letter-spacing: 0;
}


/* Event programme follows the guide's numbered text cards. */
#kazan-guide-2026 .event-group-title{
	color: var(--blue);
	font-size: 24px;
	line-height: 1.3;
	margin: 64px 0 32px;
}
#kazan-guide-2026 .event-group:first-child .event-group-title{ margin-top: 0; }
#kazan-guide-2026 .event-list-card h4{
	font-size: 24px;
	line-height: 1.25;
	font-weight: 700;
	margin-bottom: 22px;
}
#kazan-guide-2026 .event-list-card .address{ margin-top: 18px; }
#kazan-guide-2026 .event-list-card:last-child{ margin-bottom: 0; }
@media  (max-width: 767px) {
	#kazan-guide-2026 .event-group-title{ font-size: 22px; margin: 40px 0 28px; }
	#kazan-guide-2026 .event-list-card h4{ font-size: 19px; margin-bottom: 14px; }
	#kazan-guide-2026 .event-list-card .address{ margin-top: 14px; }
}








/* Forum link captions remain within the original link targets. */
#kazan-guide-2026 .forum-link-label{ display: block; }
#kazan-guide-2026 .forum-link-label small{ display: block; font-size: 16px; line-height: 1.4; font-weight: 400; margin-top: 10px; }
#kazan-guide-2026 .event-period{ display: inline-block; margin-top: 5px; }

/* Soft decorative glows stay behind content and do not intercept input. */
#kazan-guide-2026 .places-section::before{ content: none; }
#kazan-guide-2026 .more-places{ position: relative; isolation: isolate; }
#kazan-guide-2026 .more-places::before{
 content: ""; position: absolute; z-index: -1; pointer-events: none;
 width: 1000px; height: 1600px; top: 200px; left: calc(50% - 50vw - 460px);
 background: radial-gradient(ellipse, #ff9c708c 0%, #ff9c7052 35%, transparent 70%);
}
#kazan-guide-2026 .events-section{ isolation: isolate; }
#kazan-guide-2026 .events-section::before{
 content: ""; position: absolute; z-index: -1; pointer-events: none;
 width: 1050px; height: calc(100% + 600px); top: -100px; right: calc(50% - 50vw - 490px);
 background: radial-gradient(ellipse, #ff9c708c 0%, #ff9c7052 35%, transparent 70%);
}


/* Bitrix template integration applies exclusively to this guide. */
html.kazan-guide-page body { margin:0; padding:0 !important; background:#e6e5f1; }
html.kazan-guide-page .header_wrap,html.kazan-guide-page #headerfixed,
html.kazan-guide-page #mobileheader,html.kazan-guide-page #mobilemenu,
html.kazan-guide-page .mega-menu,html.kazan-guide-page .mega-menu-wrap,
html.kazan-guide-page #scrollToTop { display:none !important; }
html.kazan-guide-page .body,html.kazan-guide-page .body > .main,
html.kazan-guide-page .body > .main > .container,
html.kazan-guide-page .body > .main > .container > .row,
html.kazan-guide-page .body > .main > .container > .row > .content-md {
 width:100% !important; max-width:none !important; min-width:0; margin:0 !important; padding:0 !important; float:none;
}
html.kazan-guide-page .body > .main > .container > .row > .left-menu-md,
html.kazan-guide-page .body > .main > .container > .row > .right-menu-md { display:none !important; }
#kazan-guide-2026 { position:relative; width:100%; box-sizing:border-box; text-align:left; isolation:isolate; }
#kazan-guide-2026 .guide-main { overflow:clip; }
#kazan-guide-2026 h1,#kazan-guide-2026 h2,#kazan-guide-2026 h3,#kazan-guide-2026 h4 { text-transform:none; }
@media(max-width:767px) {
 #kazan-guide-2026 .site-header { top:var(--guide-admin-offset,0px); }
 #kazan-guide-2026 .navigation-shell.is-stuck { top:calc(70px + var(--guide-admin-offset,0px)); }
}

/* Right orange glow aligned with the first sightseeing entry. */
#kazan-guide-2026 .places-section > .place-list { position: relative; isolation: isolate; }
#kazan-guide-2026 .places-section > .place-list::before {
 content: ""; position: absolute; z-index: -1; pointer-events: none;
 width: 1050px; height: 1200px; top: -400px; right: calc(50% - 50vw - 490px);
 background: radial-gradient(ellipse, #ff9c708c 0%, #ff9c7052 35%, transparent 70%);
}
/* Preserve glyph descenders in the compact hero heading under the Bitrix template. */
#kazan-guide-2026 .hero h1 { overflow: visible; text-overflow: clip; }

/* Revisions 20.10: match the recommendation surfaces and tighten map spacing. */
#kazan-guide-2026 .forum-links .wide-link { background: var(--paper); }
#kazan-guide-2026 .map-section { padding-top: 48px; }
@media (min-width: 768px) {
 /* A hidden overflow on the Bitrix body prevents sticky navigation from following the viewport. */
 html.kazan-guide-page body { overflow: visible; }
 #kazan-guide-2026 .navigation-shell { top: var(--guide-admin-offset, 0px); }
}
@media (max-width: 767px) {
 #kazan-guide-2026 .map-section { padding-top: 32px; }
}
header:not(.site-header){
	display: none;
}