@font-face {
	font-family: 'Circe';
	src: local('Circe'), local('Circe-Regular'),
		url('/static/fonts/Circe-Regular.woff') format('woff'),
		url('/static/fonts/Circe-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Circe';
	src: local('Circe ExtraLight'), local('Circe-ExtraLight'),
		url('/static/fonts/Circe-ExtraLight.woff') format('woff'),
		url('/static/fonts/Circe-ExtraLight.ttf') format('truetype');
	font-weight: 200;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Circe';
	src: local('Circe Thin'), local('Circe-Thin'),
		url('/static/fonts/Circe-Thin.woff') format('woff'),
		url('/static/fonts/Circe-Thin.ttf') format('truetype');
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Circe';
	src: local('Circe Light'), local('Circe-Light'),
		url('/static/fonts/Circe-Light.woff') format('woff'),
		url('/static/fonts/Circe-Light.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Circe';
	src: local('Circe Bold'), local('Circe-Bold'),
		url('/static/fonts/Circe-Bold.woff') format('woff'),
		url('/static/fonts/Circe-Bold.ttf') format('truetype');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Circe';
	src: local('Circe ExtraBold'), local('Circe-ExtraBold'),
		url('/static/fonts/Circe-ExtraBold.woff') format('woff'),
		url('/static/fonts/Circe-ExtraBold.ttf') format('truetype');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

html {
	/* scroll-behavior: smooth; */
	--accent-color: #b51ae7;
}

body {
	max-width: 1440px;
	margin: auto;
	padding: 0 40px 120px;
	box-sizing: border-box;
	font-family: Circe, sans-serif;
	font-size: 16px;
	line-height: 1.25;
	color: #4a4a4a;
	overflow-x: hidden;
	background-color: #d3d3d3;
	position: relative;
}

main {
	display: flex;
	gap: 20px;
	justify-content: space-between;
	position: relative;
}

input, button {
	font-family: TTFirsNeue, sans-serif;
}

strong {
	font-weight: 600;
}

strong.extra {
	font-weight: 900;
}

a {
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	color: inherit;
}
a:not([class]):hover { color: var(--accent-color); }

input::placeholder {
	color: inherit;
}

.hidden {
	display: none !important;
}

img {
	max-width: 100%;
}

i {
	font-style: italic;
}

.w {
	color: #fff;
}

.b {
	color: #000;
}

.r {
	color: #ff00ba;
}

.column {
	width: 400px;
	position: relative;
}

.column_content {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.block {
	padding: 30px 25px 30px;
	background-color: #fff;
	position: relative;
	/* overflow: hidden; */
	opacity: 0;
	transition: all .5s;
}

.block.a1 {
	opacity: 1;
}

/* .block::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 400px;
	height: 100%;
	background-color: var(--accent-color);
	opacity: 0.1;
	transform: translateX(-100%);
	z-index: 1000;
} */

.block-black {
	background-color: #000;
	color: #d3d3d3;
}

.block.a2 {
	box-shadow: 0 0 10px 30px #ffffff99;
}

.block-black.a2 {
	/* box-shadow: 0 0 10px 30px #b51ae733 inset; */
	/* background-color: #b51ae788; */
}

/* .block.a2::after { */
/* .block:hover::after { */
	/* animation: shake .2s linear 6; */
	/* animation: moveLight .4s linear 2; */
/* } */

@keyframes moveLight {
	from {
	  transform: translateX(-100);
	}
	to {
	  transform: translateX(100%);
	}
}

@keyframes shake {
	0% {
		transform: translateX(0);
	}
	25% {
		transform: translateX(7px);
	}
	50% {
		transform: translateX(7px);
	}
	100% {
		transform: translateX(0);
	}
}

h2 {
	font-size: 24px;
	text-transform: uppercase;
	padding-bottom: 5px;
	color: #000;
}

h3 {
	font-size: 15px;
	font-weight: 800;
	text-transform: uppercase;
	padding-top: 10px;
	color: #000;
}

h4 {
	text-transform: uppercase;
	padding-top: 20px;
}

.block-black h2,
.block-black h3 {
	color: #fff;
}

.accent {
	color: var(--accent-color);
}

.accent2 {
	color: #bf1cf4;
}

p {
	padding-top: 20px;
	position: relative;
}

p.dash {
	padding-left: 20px;
	margin-left: -3px;
}

p.dash::before {
	content: '—';
	color: var(--accent-color);
	position: absolute;
	left: 0;
}

h3 + p {
	padding-top: 12px;
}

.f-l {
	font-size: 18px;
}

.lh-l {
	line-height: 1.5;
}

.fz40 {
	font-size: 39px;
	white-space: nowrap;
}

.fz20 {
	font-size: 20px;
}

.mt10 {
	margin-top: 10px;
}

.mt15 {
	margin-top: 15px;
}

.mt20 {
	margin-top: 20px;
}

.mt30 {
	margin-top: 30px;
}

.mt50 {
	margin-top: 50px;
}

.mt90 {
	margin-top: 90px;
}

.pt5 {
	padding-top: 5px;
}

.pt70 {
	padding-top: 70px;
}

.checked,
.checked_before {
	display: flex;
	gap: 7px;
}

.checked::after,
.checked_before::before {
	content: '';
	width: 17px;
	height: 16.5px;
	background: url('/static/i/check.webp') no-repeat;
	background-size: contain;
}

.block10 {
	color: #fff;
	opacity: 1;
}

.try_proto_btn { display:block; width:-moz-fit-content; width:fit-content; max-width:100%; margin:14px auto 4px; padding:11px 18px; background:linear-gradient(130deg,#ff008c,#da15c0); color:#fff; border-radius:10px; font-weight:bold; text-decoration:none; text-align:center; }
.try_proto_btn:hover { opacity:.9; }
/* two parallel tracks -> one engine */
.tracks2 { margin-top:10px; }
.tracks2-sub { font-size:12px; color:#54545C; margin-top:3px; line-height:1.4; }
.tracks2-lanes { display:flex; gap:10px; }
.lane { position:relative; flex:1; padding:12px 13px 13px; background:#FCEDF6; border-radius:10px; }
.lane-b { background:#FCEDF6; }
.lane-head { display:flex; justify-content:space-between; align-items:baseline; gap:6px; }
.lane-num { font-size:15px; font-weight:800; line-height:1.1; color:#0C0C0E; }
.accuracy { font-size:68px; line-height:1.02; letter-spacing:-.02em; position:relative; display:inline-block; padding:0; margin-top:16px; z-index:5; }
.accuracy > strong { display:block; color:var(--accent-color); position:relative; }
.acc-wash { position:absolute; inset:0; background:var(--accent-color); pointer-events:none; z-index:4; opacity:0; }
.acc-dot { display:inline-block; width:0.15em; height:0.15em; border-radius:50%; background:var(--accent-color); vertical-align:baseline; margin-left:0.03em; }
.accuracy-fill { position:absolute; inset:0; pointer-events:none; opacity:0; z-index:1; }
.accuracy-fill > strong { display:block; color:#fff; }
.acc-armed .acc-wash { opacity:1; -webkit-clip-path: circle(150% at 92% 82%); clip-path: circle(150% at 92% 82%); }
.acc-armed .accuracy-fill { opacity:1; }
.acc-armed .accuracy > strong .ac-word { color:transparent; }
.acc-revealed .accuracy-fill { animation:acc-fade 2.3s ease forwards; }
.acc-revealed .accuracy > strong .ac-word { animation:acc-ink 2.3s ease forwards; }
@keyframes acc-fade { 0%,55%{ opacity:1; } 86%,100%{ opacity:0; } }
@keyframes acc-ink { 0%,38%{ color:transparent; } 54%,100%{ color:var(--accent-color); } }
@media (prefers-reduced-motion: reduce) { .acc-armed .acc-wash, .acc-armed .accuracy-fill { opacity:0; } .acc-armed .accuracy > strong .ac-word { color:var(--accent-color); } .acc-revealed .accuracy-fill, .acc-revealed .accuracy > strong .ac-word { animation:none; } }
.lane-tag { font-size:9.5px; letter-spacing:.11em; text-transform:uppercase; color:#B3119B; font-weight:700; }
.lane-b .lane-tag { color:#B3119B; }
.lane-title { font-size:15px; font-weight:800; line-height:1.1; margin-top:5px; color:#0C0C0E; }
.lane-sub { font-size:13px; color:#54545C; line-height:1.4; margin-top:5px; }
.moat { display:grid; grid-template-columns:34px 1fr; grid-template-rows:auto 1fr; column-gap:6px; row-gap:5px; margin:20px 0 12px; }
.moat-colh { grid-column:2; grid-row:1; display:grid; grid-template-columns:1fr 1fr; gap:1px; }
.moat-colh span { text-align:center; font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; color:#cbb6d9; }
.moat-rowh { grid-column:1; grid-row:2; display:flex; flex-direction:column; justify-content:space-around; align-items:flex-end; text-align:right; }
.moat-rowh span { font-size:9px; letter-spacing:.03em; text-transform:uppercase; color:#cbb6d9; line-height:1.1; }
.moat-grid { grid-column:2; grid-row:2; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.22); border:1px solid rgba(255,255,255,.22); }
.moat-cell { background:#160a13; padding:13px 11px; min-height:120px; display:flex; flex-direction:column; gap:5px; }
.moat-cell strong { font-size:14px; line-height:1.16; color:#fff; font-weight:800; }
.moat-cell span { font-size:11px; line-height:1.28; color:#9a9a9a; }
.moat-cell .here { color:#ff6ae2; font-weight:700; margin-top:auto; }
.moat-cell.fitme { background:#1a0a16; box-shadow:inset 0 0 0 1.5px #da15c0, inset 0 0 22px rgba(218,21,192,.20); }
.moat-logo { width:74px; height:auto; margin-bottom:3px; }
.moat-cell .alone { color:#ff8ae8; font-weight:700; font-style:italic; margin-top:auto; }
@media (max-width:640px){ .moat{ grid-template-columns:30px 1fr; } .moat-cell{ min-height:108px; padding:11px 9px; } .moat-cell strong{ font-size:12.5px; } .moat-cell span{ font-size:10.5px; } .moat-logo{ width:62px; } }
/* quadrant reveal on scroll (FITME corner last) */
.moat .moat-cell, .moat .moat-colh span, .moat .moat-rowh span { transition:opacity .7s ease, transform .7s ease; }
.moat.reveal-init .moat-cell, .moat.reveal-init .moat-colh span, .moat.reveal-init .moat-rowh span { opacity:0; transform:translateY(16px); }
.moat.revealed .moat-cell, .moat.revealed .moat-colh span, .moat.revealed .moat-rowh span { opacity:1; transform:none; }
.moat.revealed .moat-colh span { transition-delay:.1s; }
.moat.revealed .moat-rowh span { transition-delay:.6s; }
.moat.revealed .moat-grid .moat-cell:nth-child(1){ transition-delay:1.2s; }
.moat.revealed .moat-grid .moat-cell:nth-child(3){ transition-delay:1.9s; }
.moat.revealed .moat-grid .moat-cell:nth-child(4){ transition-delay:2.6s; }
/* FITME reveals differently: pops from the centre of its quadrant to fill it, last */
.moat .moat-grid .moat-cell.fitme { transition:opacity .5s ease 3.5s, transform .75s cubic-bezier(.34,1.45,.5,1) 3.5s; transform-origin:center center; }
.moat.reveal-init .moat-grid .moat-cell.fitme { opacity:0; transform:scale(.22); }
.moat.revealed .moat-grid .moat-cell.fitme { opacity:1; transform:scale(1); }
@media (prefers-reduced-motion: reduce){ .moat .moat-cell, .moat .moat-colh span, .moat .moat-rowh span { transition:none !important; opacity:1 !important; transform:none !important; } }
.engine-yalla { position:relative; margin-top:20px; margin-bottom:-30px; max-width:none; width:calc(100% + 36px); transform:translateX(-20px); }
.engine-yalla-txt.typing::after { content:'|'; margin-left:.04em; animation:yallaCaret .6s steps(1,end) infinite; }
@keyframes yallaCaret { 50% { opacity:0; } }
.engine-yalla img { width:100%; height:auto; display:block; }
.engine-yalla-txt { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); color:#fff; font-size:70px; font-weight:800; line-height:1; text-shadow:0 2px 16px rgba(0,0,0,.85), 0 0 5px rgba(0,0,0,.6); }
@media (max-width:640px){ .engine-yalla-txt{ font-size:48px; } }
h2 s { opacity:.5; }
.referral { background: rgba(218,21,192,.22); padding: 18px 20px; margin-top: 30px; }
.referral > h3 { margin-top: 0; }
a.referral-btn { display:block; width:max-content; max-width:100%; margin:16px auto 6px; text-transform:none; }
.oprah { text-align: center; margin: 12px 0 0; font-style: italic; }
.oprah .oprah-by { display:block; text-align:center; font-style: normal; opacity: .7; font-size: .85em; margin-top: 3px; }
.tracks2-merge { display:block; width:100%; height:28px; margin:0; overflow:visible; }
.tracks2-merge .flow { stroke-dasharray:5 6; animation:flowdown .9s linear infinite; }
.lane::after { content:""; position:absolute; left:50%; bottom:-5px; transform:translateX(-50%); width:9px; height:9px; border-radius:50%; background:#da15c0; z-index:1; }
.lane-b::after { background:#da15c0; }
.tracks2-engine::before { content:""; position:absolute; left:50%; top:-8px; transform:translateX(-50%); width:17px; height:17px; border-radius:50%; background:#b51ae7; z-index:2; }
@keyframes flowdown { to { stroke-dashoffset:-11; } }
@media (prefers-reduced-motion: reduce){ .tracks2-merge .flow{ animation:none; } }
.tracks2 .lane, .tracks2 .tracks2-engine, .tracks2 .tracks2-merge { transition:opacity .55s ease, transform .55s ease; }
.tracks2.reveal-init .lane, .tracks2.reveal-init .tracks2-engine { opacity:0; transform:translateY(16px); }
.tracks2.reveal-init .tracks2-merge { opacity:0; }
.tracks2.revealed .lane-a { opacity:1; transform:none; transition-delay:.05s; }
.tracks2.revealed .lane-b { opacity:1; transform:none; transition-delay:.16s; }
.tracks2.revealed .tracks2-merge { opacity:1; transition-delay:.26s; }
.tracks2.revealed .tracks2-engine { opacity:1; transform:none; transition-delay:.34s; }
@media (prefers-reduced-motion: reduce){ .tracks2 .lane, .tracks2 .tracks2-engine, .tracks2 .tracks2-merge { transition:none !important; opacity:1 !important; transform:none !important; } }
.tracks2-engine { position:relative; display:flex; align-items:center; gap:12px; padding:13px 15px; background:linear-gradient(120deg,#FCEDF6,#F1E6FB); border-radius:10px; }
.engine-mark { flex:none; width:15px; height:15px; border-radius:50%; background:radial-gradient(circle at 32% 30%, #ff3cb4, #b51ae7); box-shadow:0 0 0 5px rgba(218,21,192,.10); }
.engine-eyebrow { font-size:9.5px; letter-spacing:.11em; text-transform:uppercase; color:#B3119B; font-weight:700; }
.engine-title { font-size:18px; font-weight:800; line-height:1.12; margin-top:1px; color:#0C0C0E; }
.engine-sub { font-size:13px; color:#54545C; line-height:1.42; margin-top:5px; }
/* revenue growth curve */
.rev { margin-top:12px; background:#fff; border:1px solid #ECECEF; border-radius:12px; padding:14px 14px 12px; }
.rev-head { display:flex; justify-content:space-between; align-items:baseline; }
.rev-num { font-size:26px; font-weight:800; color:#B3119B; line-height:1; }
.rev-lbl { display:block; font-size:10.5px; color:#8C8C95; margin-top:3px; }
.rev-stores { font-size:12px; color:#54545C; }
.rev-stores strong { color:#0C0C0E; font-size:15px; }
.rev-chart { display:block; width:100%; height:112px; margin:8px 0 4px; overflow:visible; }
.rev-slider { width:100%; accent-color:#da15c0; }
@media(max-width:640px){ .tracks2-lanes{ gap:7px; } .lane{ padding:11px 10px; } .lane-sub{ font-size:12px; } .lane-title{ font-size:13px; } }

.src { display:block; font-size:11px; color:#8C8C95; font-style:italic; }
.nl { display:block; }
.moat-callout { border-left:3px solid #da15c0; background:rgba(218,21,192,.12); padding:12px 15px; margin:14px 0 6px; }
.moat-callout .r { color:#ff5ee0; }
.focus-card { margin:14px 0 6px; border-radius:12px; background:#fff; border:1px solid #ECE5F0; box-shadow:0 6px 22px rgba(120,20,110,.08); overflow:hidden; }
.focus-thumbs { display:flex; gap:0; line-height:0; }
.focus-thumbs img { width:20%; aspect-ratio:1/1; object-fit:cover; display:block; border-right:1px solid #fff; }
.focus-thumbs img:last-child { border-right:0; }
.focus-body { padding:9px 14px 13px; }
.focus-tag { display:inline-block; font-size:9.5px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:#fff; background:#da15c0; padding:3px 9px; border-radius:20px; margin-bottom:6px; }
.focus-copy { font-size:14px; line-height:1.5; color:#3a3540; margin:0; padding:0; }
.focus-copy strong { color:#0C0C0E; }
.focus-copy strong.r { color:#da15c0; }
.fin { margin:14px 0 8px; }
.fin-arpu { font-size:16px; color:#1A1620; }
.fin-arpu strong { color:#da15c0; font-size:16px; font-weight:800; }
.fin-hint { color:#6E6A73; font-size:11px; }
.b2b-detail { margin:14px 0 8px; border:1px solid #E7E1EC; border-radius:10px; background:#FBF7FC; }
.b2b-detail > summary { cursor:pointer; list-style:none; padding:11px 13px; font-weight:800; color:#B3119B; font-size:15px; display:flex; align-items:center; justify-content:space-between; }
.b2b-detail > summary::-webkit-details-marker { display:none; }
.b2b-detail > summary::after { content:"\25be"; font-weight:400; transition:transform .2s ease; }
.b2b-detail[open] > summary::after { transform:rotate(180deg); }
.b2b-detail-body { padding:0 13px 13px; }
.b2b-detail-body h4 { font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:#8A8690; margin:11px 0 1px; font-weight:800; }
.b2b-plans { display:flex; flex-direction:column; gap:5px; }
.b2b-plan { display:grid; grid-template-columns:64px auto 1fr; gap:8px; align-items:baseline; font-size:12px; }
.b2b-plan b { color:#0C0C0E; font-weight:800; }
.b2b-plan span { color:#B3119B; font-weight:800; white-space:nowrap; }
.b2b-plan em { color:#6E6A73; font-style:normal; font-size:11px; line-height:1.3; }
.b2b-note { font-size:12px; color:#54545C; line-height:1.5; margin:1px 0 0; padding:0; }
.b2b-note b { color:#0C0C0E; }
.b2b-eg { font-size:12px; line-height:1.5; color:#3a3540; margin:7px 0 0; padding:9px 11px; background:rgba(218,21,192,.06); border-radius:7px; }
.b2b-eg b { color:#0C0C0E; }
.b2b-eg b.r { color:#da15c0; }
.b2b-eg .b2b-eg-note { color:#8A8690; }
.b2b-ladder { margin:6px 0 2px; }
.b2b-ladder-h, .b2b-ladder-r { display:grid; grid-template-columns:1.5fr 1fr .9fr .7fr; gap:6px; padding:3px 0; font-size:12px; }
.b2b-ladder-h { color:#8A8690; font-size:10px; text-transform:uppercase; letter-spacing:.03em; border-bottom:1px solid #E7E1EC; }
.b2b-ladder-r { border-bottom:1px solid #F1ECF4; }
.b2b-ladder-r span:first-child { color:#0C0C0E; font-weight:700; }
.b2b-ladder-h span:not(:first-child), .b2b-ladder-r span:not(:first-child) { text-align:right; color:#54545C; white-space:nowrap; }
.b2b-gtm { margin:4px 0 0; padding-left:15px; }
.b2b-gtm li { font-size:12px; color:#54545C; line-height:1.5; margin:3px 0; }
.b2b-gtm b { color:#0C0C0E; }
.fin-slider { width:100%; margin:7px 0 11px; accent-color:#da15c0; cursor:ew-resize; }
.fin-unit { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin:12px 0 6px; }
.fin-unit div { text-align:center; background:#FCEDF6; border-radius:7px; padding:8px 3px; }
.fin-unit b { display:block; font-size:15px; font-weight:800; color:#da15c0; line-height:1.1; margin-top:5px; }
.fin-unit span { font-size:8.5px; color:#0C0C0E; text-transform:uppercase; letter-spacing:.02em; }
@media(max-width:640px){ .fin-unit{ grid-template-columns:1fr 1fr; } }
.ce { display:grid; grid-template-columns:minmax(82px,1.15fr) 1fr 1fr 1fr; align-items:center; margin:8px 0 4px; }
.ce-h { display:flex; flex-direction:column; gap:2px; align-items:flex-end; text-align:right; padding:0 13px 6px 2px; border-bottom:1px solid #D9D3CE; }
.ce-h b { font-weight:800; font-size:16px; color:#1A1620; }
.ce-h .ce-ms { font-size:10px; font-weight:700; color:#B3119B; line-height:1.15; }
.ce-h .ce-ms2 { font-size:8px; color:#9a9a9a; line-height:1.1; }
.ce-lbl { color:#6E6A73; font-size:12px; padding:6px 2px; }
.ce-v { text-align:right; font-weight:800; font-size:13.5px; color:#1A1620; white-space:nowrap; padding:6px 13px 6px 1px; }
.ce-v.pos { color:#1a8a3a; }
.ce-v.neg { color:#c0392b; }
.ce-svg { grid-column:2 / 5; width:100%; height:auto; display:block; padding:3px 0; }
.ce-clbl { display:flex; flex-direction:column; gap:2px; font-size:11px; text-transform:uppercase; letter-spacing:.02em; }
.ce-clbl .ce-k1 { color:#B3119B; font-weight:700; }
.ce-clbl .ce-k2 { color:#1A1620; font-weight:700; }
.ce-rule { grid-column:1 / -1; height:0; border-top:1px solid #D9D3CE; }

.ce-h3 { padding-top:14px; }
.ce-raise { color:#B3119B; font-weight:800; }
.ce-raise.dim { color:#C9C3CE; }
.ce-val { color:#B51AE7; }
.fin-track2 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; margin-bottom:7px; }
.fin-track2 span { font-size:8.5px; line-height:1.2; color:#B3119B; font-weight:700; text-align:center; text-transform:uppercase; letter-spacing:.02em; }
.fin-chart { width:100%; height:auto; display:block; overflow:visible; }
.fin-bl { fill:#1A1620; font-size:10px; font-weight:800; }
.fin-el { fill:#6E6A73; font-size:9px; font-weight:700; }
.fin-legend { display:flex; gap:16px; justify-content:center; font-size:9.5px; color:#6E6A73; margin:3px 0 5px; }
.fin-legend .b1::before{ content:''; display:inline-block; width:10px; height:9px; background:linear-gradient(#da15c0,#b51ae7); border-radius:2px; margin-right:5px; vertical-align:-1px; }
.fin-legend .b2::before{ content:''; display:inline-block; width:13px; height:2px; background:#1A1620; margin-right:5px; vertical-align:3px; }
.fin-years { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; margin-top:2px; }
.fin-years button { font-family:inherit; font-size:12px; font-weight:800; padding:5px 0; border:1px solid #D9D3CE; background:#fff; border-radius:6px; cursor:pointer; color:#1A1620; }
.fin-years button.on { background:#da15c0; color:#fff; border-color:#da15c0; }
.fin-detail { margin-top:8px; background:#FCEDF6; border-radius:7px; padding:8px 12px; }
.fin-d-row { display:flex; justify-content:space-between; font-size:12px; padding:3px 0; border-bottom:1px solid rgba(0,0,0,.05); }
.fin-d-row:last-child { border-bottom:none; }
.fin-d-row span { color:#6E6A73; }
.fin-d-row b { font-weight:800; color:#1A1620; }
.fin-d-row b.pos { color:#1a8a3a; }
.fin-d-row b.neg { color:#c0392b; }
.uni { margin:12px 0 8px; }
.uni-top { font-size:13px; color:#1A1620; }
.uni-top #uni_name { font-weight:800; }
.uni-top strong { color:#da15c0; font-size:16px; font-weight:800; }
.uni-slider { width:100%; margin:11px 0 4px; accent-color:#da15c0; }
.uni-bar { display:flex; height:14px; border-radius:4px; overflow:hidden; margin:7px 0 10px; }
.uni-bar i { display:block; height:100%; }
.uni-r { display:flex; justify-content:space-between; align-items:center; font-size:12px; padding:3px 0; border-bottom:1px solid rgba(0,0,0,.05); }
.uni-r:last-child { border-bottom:none; }
.uni-r .k { display:flex; align-items:center; gap:6px; color:#6E6A73; }
.uni-r .k i { width:9px; height:9px; border-radius:2px; display:inline-block; flex:0 0 auto; }
.uni-r .v { font-weight:800; color:#1A1620; white-space:nowrap; }
.uni-sep { border-top:1px solid #D9D3CE; margin:5px 0; }
.uni-r.gp .v { color:#1a8a3a; }

.ai-projects { padding-top:16px; }
.ai-projects li + li { margin-top:16px; }
.block10_sub { text-transform:none; font-size:16px; line-height:1.55; margin-top:24px; max-width:32em; }
.block10_txt {
	font-size: 15px;
	text-transform: uppercase;
	padding-bottom: 60px;
}
.block10 {
    overflow: hidden;
}

.block10 > *:not(.block10_bg) {
    position: relative;
    z-index: 1;
}

.block10_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: top center;
    z-index: 0;
    pointer-events: none;
}

.play {
	margin: 60px auto;
	display: flex;
	justify-content: center;
	position: relative;
}

.play_btn {
	width: 50px;
	height: 50px;
	background: url("/static/i/play.webp") no-repeat;
	background-size: contain;
	cursor: pointer;
}

.btn {
	max-width: 180px;
	background: linear-gradient(130deg, #ff008c, #da15c0);
	color: white;
	border: none;
	margin-right: auto;
	margin-left: auto;
	text-transform: uppercase;
	padding: 14px 15px;
	border-radius: 10px;
	font-weight: bold;
	cursor: pointer;
	display: block;
	text-align: center;
	text-decoration: none;
	transition: opacity .6s;
	position: relative;
	z-index: 1;
}

.play_txt {
	font-size: 14px;
	font-weight: 600;
	position: absolute;
	transform: translate(100%, 16px);
}
.play_txt span {
	font-weight: 400;
}

h1 {
	font-size: 24px;
	text-transform: uppercase;
	margin-top: 60px;
}

nav {
	padding-top: 40px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding-bottom: 20px;
}

nav a {
	font-size: 20px;
}

nav a:hover {
	color: #ff00ba;
}

.block30_img1 {
	max-width: calc(100% + 10px);
	margin-left: -5px;
}

.block30_img2 {
	max-width: 260px;
	display: block;
	margin: 14px 11px 0 auto;
}

.block30_links {
	padding-top: 14px;
	display: flex;
	gap: 10px;
	align-items: stretch;
}

.block30_links_col1 {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.block30_links_col2 {
	flex: 0 0 auto;
	display: flex;
	align-items: stretch;
}

.block30_links_row {
	display: flex;
	gap: 8px;
	align-items: center;
}

.block30_links_col1 .block30_links_row:first-child {
	align-items: center;
}

.block30_links a {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.block30_links a img {
	display: block;
	max-width: 100%;
}

/* Первая строка: wa + in (квадратные иконки) */
.block30_links_wa img,
.block30_links_in img {
	width: 40px;
	height: 40px;
	object-fit: contain;
}

/* Вторая строка: tel-adev + hightechstaff + larisa-ai */
.block30_links_teladev img {
	height: 40px;
	width: auto;
}

.block30_links_hts img {
	height: 40px;
	width: auto;
}

.block30_links_larisa img {
	height: 40px;
	width: auto;
}

/* Второй столбец: paradox — ужимается по своему изображению, занимает 2 строки по высоте */
.block30_links_prdx {
	display: flex;
	align-items: center;
}

.block30_links_prdx img {
	height: 80px;
	width: auto;
	max-width: none;
}

.flag-ru {
	width: 24px;
	aspect-ratio: 77 / 45;
	margin-left: 5px;
	background: url("/static/i/flag_ru.webp") no-repeat;
	background-size: contain;
	display: inline-block;
}

.flag-is {
	width: 24px;
	aspect-ratio: 77 / 53;
	margin-left: 5px;
	background: url("/static/i/flag_is.webp") no-repeat;
	background-size: contain;
	display: inline-block;
	margin-top: -2px;
}

.flag-us {
	width: 28px;
	height: 16px;
	background: url("/static/i/flag_us.webp") no-repeat;
	background-size: contain;
	display: inline-block;
}

.team {
	position: relative;
}

.grid {
	display: flex;
	flex-wrap: wrap;
	position: absolute;
	top: -5px;
	right: -5px;
	bottom: -5px;
	left: -5px;
}

.grid div {
	width: 25%;
	background-color: #000;
	aspect-ratio: 1.01;
	transition: opacity 1s;
}

.grid div.a {
	opacity: 0;
}

.block35 {
	padding: 30px 25px 30px;

	h2 {
		font-size: 22px;
	}

	ul {
		font-size: 15.7px;
	}
}

ul.plain_dash {
	margin-top: 0;
	list-style: none;
	padding-left: 0;
	display: block;

	li {
		padding-left: 12px;
	}

	li::before {
		content: '-';
		margin-top: -6px;
		background: none;
		width: auto;
		height: auto;
	}
}

.block35_img1 {
	margin: 20px 0 10px -25px;
	max-width: none;
	width: calc(100% + 50px);
}

.block35_img2 {
	display: block;
	max-width: 260px;
	margin: 15px auto 25px;
}
.block35_video_link {
	position: relative;
	display: block;
	margin: 20px 0 10px -25px;
	width: calc(100% + 50px);
	line-height: 0;
}

.block35_video_link .block35_img1 {
	margin: 0;
	width: 100%;
}

.block35_video_link .play_btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
}

.pt0 {
	padding-top: 0 !important;
}

.block35_logo1 {
	float: right;
	height: 74px;
}

.block35_logo2 {
	height: 30px;
	position: absolute;
	transform: translate(-4px, -34px);
}

.block35_logo3 {
	height: 63px;
	position: absolute;
	top: -2px;
	right: 30px;
}

.block35_logo4 {
	height: 110px;
	display: block;
	margin: 20px auto 80px;
}

.mt35 {
	margin-top: 35px;
}

.block35_img3 {
	height: 240px;
	display: block;
	margin: 10px auto 0;
}


.block40 {
	padding-bottom: 30px;
}

.block40 figure {
	padding-bottom: 5px;
	position: relative;
}

.block40 figcaption {
	font-size: 6px;
	transform: rotate(90deg);
	position: absolute;
	right: 0;
	color: #878787;
	top: 140px;
	right: -146px;
}

.block50 img {
	margin-left: -25px;
	width: calc(100% + 50px);
	max-width: none;
}

ul {
	margin-top: 30px;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

ul li {
	position: relative;
	padding-left: 22px;
}

ul li::before {
	content: '';
	width: 7px;
	height: 7px;
	background-color: var(--accent-color);
	position: absolute;
	top: 6px;
	left: 0;
}

.block60 a {
	color: #000;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	text-decoration: none;
}

.block60 a span {
	border-bottom: 1px solid;
}

.block60 p:last-child {
	padding-top: 40px;
}

.block60 .tg {
	position: absolute;
	margin-left: 7px;
}

.block70 {
	padding-right: 22px;
	padding-left: 23px;
}

.block70_img1 {
	display: block;
	margin: 20px auto;
	max-width: 200px;
}

.revenue {
	padding-top: 55px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

.revenue_title {

}

.revenue_item {
	position: relative;
}

.revenue_item:nth-child(5)::before {
	content: '';
	width: 27px;
	height: 26.5px;
	background: url("/static/i/unicorn.webp") no-repeat;
	background-size: contain;
	position: absolute;
	top: -36px;
	left: -5px;
}

.revenue_item:nth-child(6)::before,
.revenue_item:nth-child(6)::after {
	content: '';
	width: 27px;
	height: 26.5px;
	background: url("/static/i/unicorn.webp") no-repeat;
	background-size: contain;
	position: absolute;
	top: -36px;
}

.revenue_item:nth-child(6)::before {
	left: -9px;
	z-index: 2;
}

.revenue_item:nth-child(6)::after {
	left: 2px;
	z-index: 1;
}

.block80 {

}

.block90 {
	padding-bottom: 70px;
}

.block90_logo1 {
	height: 70px;
	display: block;
	margin: 0 auto 15px;
}

.block90_logo2 {
	height: 50px;
	display: block;
	margin: 0 auto 15px;
}

.block90_img1 {
	width: 250px;
	margin: 30px auto 0;
	display: block;
}

.block90_items {
	padding-top: 20px;
	font-size: 18px;
}

.block90_item {
	padding-left: 50px;
	position: relative;
}

.block90_item::before {
	width: 42px;
	content: 'I';
	font-size: 40px;
	color: var(--accent-color);
	font-weight: 600;
	text-align: right;
	position: absolute;
	top: 16px;
	left: 0;
}

.block90_item:nth-child(2):before {
	content: 'II';
}

.block90_item:nth-child(3):before {
	content: 'III';
}

img.center {
	margin-right: auto;
	margin-left: auto;
	display: block;
}

.block100 .btn {
	transform: translateX(-22px);
}

.block110 {
	position: relative;
	overflow: hidden;
	padding-right: 16px;
	padding-left: 20px;
}

.block110_img1 {
	max-width: 245px;
	transform: translateX(20px);
}

.block110_img2 {
	float: left;
	margin-top: 4px;
	margin-right: 20px;
}

.block120 img {
	max-width: 281px;
	margin-top: 90px;
}


.block130 {
	padding-right: 10px;
	padding-left: 20px;
	padding-bottom: 25px;
}

.btn-upload {
	max-width: 230px;
	margin-top: 35px;
	margin-bottom: 35px;
	transform: translateX(-5px);
	padding-right: 25px;
	padding-left: 25px;
	font-size: 16px;
	text-transform: none;
	text-align: left;
	display: flex;
	gap: 20px;
	align-items: center;
}

.btn-upload::before {
	content: '';
	width: 37px;
	height: 37px;
	background: url('/static/i/icon_upload.webp') no-repeat;
	background-size: contain;
	flex-shrink: 0;
}

.choose_model {
	padding-left: 30px;
	margin-bottom: 70px;
	align-items: center;
}

.choose_model::before,
.preparing_point::before {
	content: '';
	margin-left: -30px;
	width: 22px;
	height: 19px;
	background: url('/static/i/icon_rarr.webp') no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
}

.choose_model {
	position: relative;
}

.choose_model_link {
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: from-font;
	cursor: pointer;
}

.choose_model_popup {
	width: 100%;
	height: 0;
	background-color: #fff;
	border-radius: 10px;
	z-index: 1000;
	overflow: hidden;
	transition: height .4s;
	display: flex;
	gap: 4%;
	transform: translate(-20px, 20px);

	img {
		border-radius: 16px;
		cursor: pointer;
	}
}

.choose_model.active .choose_model_popup {
	height: 286px;
}

.block130_slider {
	width: 100%;
	max-width: 250px;
	aspect-ratio: 250 / 447;
	margin: 15px auto 0;
	transform: translateX(-5px);
	position: relative;
}

.block130_slider img {
	opacity: 0;
	transition: opacity .6s;
	position: absolute;
	top: 0;
	left: 0;
}

.block130_slider img.active {
	opacity: 1;
}

.block130_img2 {
	max-width: none;
	width: calc(100% + 10px);
	margin-left: -10px;
}

.block120 {
	padding-bottom: 55px;
}

.block140,
.block150,
.block170 {
	padding-bottom: 40px;
}

.block180 {
	padding-bottom: 30px;
}

.block140_video {
	
}

.block140_img2 {
	max-width: 294px;
	margin-top: 30px;
}

.block150 {
	padding-right: 22px;
}

.block160_img1 {
	max-width: 325px;
}

.block160 ul {
	margin-top: 10px;
}

.block170_img1 {
	transform: translate(-25px, -30px);
	max-width: none;
	width: calc(100%  + 50px);
}

.block170_img2 {
	width: calc(100% + 30px);
	max-width: none;
	margin-top: 30px;
	margin-left: -15px;
}

.block180_img {
	margin-top: 20px;
	margin-bottom: 10px;
	margin-left: -25px;
	max-width: none;
	width: calc(100%  + 50px);
}

.block180_img_end { margin-bottom: -30px; }

.block180_img + h3 {
	padding-top: 20px;
}

.block180 .flag-us {
	transform: translate(2px, 2px);
}

.block180 .flag-is {
	position: absolute;
	width: 36px;
	transform: translate(2px, -3px);
}

.block180 .flag-ru {
	width: 36px;
	transform: translate(2px, 2px);
}

.block180_slider {
	margin-top: 20px;
	margin-bottom: 10px;
	margin-left: -25px;
	width: calc(100%  + 50px);
	aspect-ratio: 400 / 157;
	position: relative;
}

.block180_slider img {
	opacity: 0;
	transition: opacity .6s;
	position: absolute;
	top: 0;
	left: 0;
}

.block180_slider img.active {
	opacity: 1;
}


footer {
	position: absolute;
	bottom: 40px;
	left: 60px;
	font-size: 14px;
}

.close {
	width: 12px;
	height: 12px;
	position: absolute;
	transform: rotate(45deg);
	cursor: pointer;
	color: #fff;
	opacity: .7;
}

.close::before {
	content: '';
	width: 12px;
	height: 1px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	background-color: currentColor;
}

.close::after {
	content: '';
	width: 1px;
	height: 12px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	background-color: currentColor;
}

.engage {
	width: 270px;
	height: 450px;
	box-sizing: border-box;
	background-color: #111111;
	border-radius: 14px 0 0 14px;
	border: 1px solid #aaa;
	position: fixed;
	right: 0;
	top: 20%;
	z-index: 1000;
	transform: translateX(100%);
	transition: all .4s;
}

.engage_close {
	top: 16px;
	left: 16px;
}

.engage_img {
	height: 220px;
	position: absolute;
	top: 50px;
	right: 0;
}

.engage_text {
	font-size: 20px;
	text-transform: uppercase;
	color: #fff;
	position: absolute;
	bottom: 105px;
	left: 25px;
	margin-left: 1em;
	transform: translateX(150%);
	transition: all .2s;
}

.engage_text div:first-child {
	margin-left: -1em;
}

.engage_btn {
	width: 70px;
	padding-top: 14px;
	padding-bottom: 12px;
	font-size: 14px;
	position: absolute;
	bottom: 35px;
	left: 87px;
	opacity: 0;
	transition: all .4s;
}

.engage.show {
	transform: translateX(0);
}

.engage.a1 .engage_text {
	transform: translateX(0);
}

.engage.a2 .engage_btn {
	opacity: 1;
}

.engage-ready {

}


.block10 {order: 10;}
.block20 {order: 20;}
.block30 {order: 30;}
.block35 {order: 35;}
.block40 {order: 40;}
.block50 {order: 50;}
.block60 {order: 60;}
.block70 {order: 70;}
.block80 {order: 80;}
.block100 {order: 90;}
.block110 {order: 100;}
.block90 {order: 110;}
.block120 {order: 120;}
.block130 {order: 130;}
.block140 {order: 140;}
.block150 {order: 150;}
.block160 {order: 160;}
.block170 {order: 170;}
.block180 {order: 180;}


body.legal {
	max-width: 630px;
	padding: 65px 20px 40px;
}

body.legal h1 {
	padding-bottom: 20px;
}



/* PROTOTYPE */

body.body-prototype {
	max-width: none;
	background-color: #f2f2f2;
	padding: 0;
}

.container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
}

.header {
	padding: 20px 40px 0 70px;
	position: relative;
	z-index: 10;
}

.header_top {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header_back {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}

.header_btns {
	display: flex;
	gap: 20px;
}

.btn-round {
	width: 50px;
	height: 50px;
	border-radius: 100%;
	background: linear-gradient(130deg, #ff008c, #da15c0);
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	position: relative;
}

.icon-back::after {
	content: 'Pitch';
	color: #fff;
	text-decoration: none;
	width: 28px;
	aspect-ratio: 28 / 26;
	background: url("/static/i/icon-back.png") no-repeat;
	background-size: contain;
	background: none;
	position: absolute;
	top: 16px; left: 9px;
}

.icon-share::after {
	content: '';
	width: 25px;
	aspect-ratio: 51 / 58;
	background: url("/static/i/icon-share.png") no-repeat;
	background-size: contain;
	transform: translateX(-1px);
}
.icon-share {
	display: none;
}
body.completed .icon-share {
	display: flex;
}

.icon-upload::after {
	content: '';
	width: 28px;
	aspect-ratio: 1;
	background: url("/static/i/icon-upload.png") no-repeat;
	background-size: contain;
	transform: translateY(-3px);
}

.proto_logo {
	display: inline-block;
	padding-top: 30px;
	position: relative;
}

.proto_logo .logo {
	max-width: 344px;
}

.proto_logo span {
	position: absolute;
	top: 12px;
	right: 0;
	text-transform: uppercase;
	font-size: 11px;
}

.products_grid {
	padding: 50px 40px 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0 4%;
	position: relative;
}

.product_card {
	border-radius: 5px;
	overflow: hidden;
	position: relative;
	padding-bottom: 40px;
	position: relative;
	cursor: pointer;
}

.product_card:nth-child(1) {order: 1;}
.product_card:nth-child(2) {order: 2;}
.product_card:nth-child(3) {order: 3;}
.product_card:nth-child(4) {order: 4;}
.product_card:nth-child(5) {order: 5;}
.product_card:nth-child(6) {order: 6;}
.product_card:nth-child(7) {order: 7;}
.product_card:nth-child(8) {order: 8;}
.product_card:nth-child(9) {order: 9;}
.product_card:nth-child(10) {order: 10;}
.product_card:nth-child(11) {order: 11;}
.product_card:nth-child(12) {order: 12;}
.product_card:nth-child(13) {order: 13;}
.product_card:nth-child(14) {order: 14;}
.product_card:nth-child(15) {order: 15;}


.product_card:nth-child(8),
.product_card:nth-child(9) {
	padding-bottom: 15px;
}

.product_card:nth-child(5) {
	grid-column: span 3;
}

.product_card:nth-child(7) {
	grid-column: span 2;;
	grid-row: span 2;
}

.product_card_figure {
	position: relative;
	aspect-ratio: 368 / 490;
	background: #fff;
}

.product_card:nth-child(5) .product_card_figure {
	aspect-ratio: 916 / 361;
}

/* .product_image {
	width: 100%;
	display: block;
	transition: opacity .6s;
	background-color: #fafafa;
	opacity: 0;
}

.product_video {
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	opacity: 0;
	transition: opacity .6s;
} */

.product_image,
.product_image_wrap,
.product_video_wrap {
	transition: opacity 0.6s;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 1;
	object-fit: contain;
}

.product_image {
	z-index: 1;
	background: #fff;
}

.product_image_wrap,
.product_video_wrap {
	background: #f2f2f2;
}

.product_image_wrap img,
.product_video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.product_card_figure.hover .product_image {
	opacity: 0 !important;
}

.product_card_figure.hover .product_image_wrap,
.product_card_figure.hover .product_video_wrap {
	opacity: 1;
}

.add_btn {
	width: 40px;
	height: 40px;
	border-radius: 100%;
	border: 1px solid #ec0aa6;
	color: #ec0aa6;
	cursor: pointer;
	position: absolute;
	right: 20px;
	bottom: 20px;
	opacity: 0;
	transition: opacity .6s;
	z-index: 3;
}

.add_btn::before {
	content: '';
	width: 12px;
	height: 1px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	background-color: currentColor;
}

.add_btn::after {
	content: '';
	width: 1px;
	height: 12px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	background-color: currentColor;
}

.add_btn:hover {
	background: linear-gradient(130deg, #ff008c, #da15c0);
	color: #fff;
}

.product_card:hover .add_btn {
	opacity: 1;
}

.product_page .add_btn {
	display: none;
}

.product_info {
	padding: 10px 10px 0;
	text-align: center;
	font-size: 12px;
}

.product_brand {
	font-weight: bold;
}

.product_oldprice {
	font-size: 10px;
	text-decoration: line-through;
}

.product_newprice {
	color: #9309b9;
}

.sale-tag {
	display: inline-block;
	background-color: #ff00ba;
	color: white;
	font-weight: bold;
	padding: 1px 3px 0 3px;
}

.proto_msg {
	width: 280px;
	box-sizing: border-box;
	padding: 40px 29px;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
	background-color: #000;
	color: #fff;
	font-weight: bold;
	font-size: 14px;
	line-height: 1.35;
	z-index: 10000;
}

.proto_msg_overlay {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9999;
	background: rgba(255,255,255,.8);
	display: none;
}

.proto_msg_close {
	top: 12px;
	right: 12px;
}

.proto_msg_content {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.proto_msg_content p {
	padding-top: 0;
}

.proto_msg a {
	text-decoration: none;
}



.proto_footer {
	background-color: #000;
	color: white;
	padding: 40px 0 110px;
	margin-top: 40px;
	position: static;
	font-size: 16px;
}

.proto_footer_intro {
	max-width: 1024px;
	margin: 0 auto;
	text-align: center;
	color: #fff;
	font-size: 24px;
	font-weight: normal;
}

.proto_footer_grid {
	max-width: 1024px;
	margin: auto;
	padding-top: 15px;
	display: flex;
	flex-direction: column;
	gap: 50px;
}

.proto_footer_item {
	display: flex;
	color: #a8a8a8;
	gap: 20px;
	justify-content: space-between;
}

.proto_footer_item:last-child {
	padding-top: 50px;
}

.proto_footer_head {
	color: #fff;
	font-weight: bold;
	transform: translateY(25px);
}

.proto_footer_item_title {
	width: 17%;
	font-weight: bold;
	color: #fff;
	text-align: right;
}

.proto_footer_item_no {
	display: none;
}

.proto_footer_item_cell1,
.proto_footer_item_cell2 {
	width: 35%;
	position: relative;
}

.proto_footer_item strong {
	font-weight: normal;
}

.proto_footer_btn {
	background: linear-gradient(130deg, #ff008c, #da15c0);
	color: white;
	border: none;
	padding: 14px 5px;
	border-radius: 10px;
	font-weight: bold;
	cursor: pointer;
	display: block;
	text-align: center;
	text-decoration: none;
	transition: opacity .6s;
	position: relative;
	z-index: 1;
}

.proto_footer_btn_after {
	position: absolute;
	top: 0;
	color: #383838;
	gap: 1em;
	display: flex;
	opacity: 0;
	transition: opacity .6s;
}

.proto_footer_btn_after span:first-child {
	color: #fff;
	font-size: 30px;
	font-weight: bold;
}

.proto_footer_btn_after a:hover {
	color: #fff;
}

.proto_footer_btn.pressed {
	opacity: 0;
}

.proto_footer_btn.pressed + .proto_footer_btn_after {
	opacity: 1;
	z-index: 2;
}

.proto_footer_bottom {
	max-width: 605px;
	text-align: center;
	margin: 0 auto;
	padding: 110px 0 0;
	font-size: 12px;
	color: #666;
}

.proto_msg_opened .header,
.proto_msg_opened .products_grid {
	background-color: #fff;
}

.proto_msg_opened .proto_msg_overlay {
	display: block;
}

.preparing_loader {

}

.preparing_window {
	max-width: 382px;
	padding: 0 13px;
	box-sizing: border-box;
	margin: auto; 
}

.preparing_title {
	font-size: 20px;
	text-transform: uppercase;
}

.preparing_info {
	transition: opacity .6s;
}

.preparing_form {
	padding-top: 15px;
	padding-bottom: 25px;
	display: flex;
	gap: 5px;
	position: relative;
	z-index: 999;
	transition: opacity .6s;
	flex-wrap: wrap;
}

.preparing_points {
	padding-top: 0;
}

.preparing_point {
	padding-left: 30px;
	padding-top: 0;
	font-weight: bold;
}

.preparing_form_wrapper {
    position: relative;
}

.preparing_info,
.preparing_form {
    transition: opacity .4s;
}

.preparing_sent {
    position: absolute;
	z-index: 1;
    top: 75px;
    left: 11px;
    right: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding-left: 30px;
    box-sizing: border-box;
    opacity: 0;
    transition: opacity .4s;
}

.preparing_sent .checked_before {
    margin-left: -30px;
    gap: 12px;
}

.preparing_window.email_sent .preparing_info,
.preparing_window.email_sent .preparing_form {
    opacity: 0;
    visibility: hidden;
}

.preparing_window.email_sent .preparing_sent {
    opacity: 1;
}


.uploading,
.preparing,
.limitations {
	max-width: 420px;
	padding: 0 20px;
	box-sizing: border-box;
	margin: auto;
	margin-top: 25px;
}

body.prototype-completed .limitations {
	display: none;
}
.limitations .limitations_block {
	height: 373px;
}

.uploading_title {
	font-size: 20px;
	text-transform: uppercase;
}

.uploading_small {
	font-size: 15px;
	color: #9a9a9a;
	margin-top: 25px;
	margin-bottom: 20px;
}

.uploading_block {
	display: flex;
	gap: 25px;

	.btn-upload {
		max-width: 36px;
		padding-right: 23px;
		padding-bottom: 18px;
		padding-left: 23px;
		margin: auto;
	}

	.choose_model_popup {
		height: auto;
		display: flex;
		background: none;
		top: auto;
		margin-top: 90px;
		padding-bottom: 60px;
		position: absolute;
		left: -5px;
		transform: none;
	}
}

.uploading_block_text {
	max-width: 220px;
}



.limitations_title {
	margin-top: 30px;
	padding-left: 25px;
	font-size: 20px;
	text-transform: uppercase;
}

.limitations_block {
	margin-top: 20px;
	padding: 20px 10px 0 25px;
	background-color: #fff;
	overflow: hidden;
	position: relative;
}

.limitations_slide {

}

.limitations_slide h5 {
	font-size: 18px;
	font-weight: bold;
}

.limitations_slide p {

}

.limitations_dots {
	display: flex;
	justify-content: center;
	gap: 18px;
	position: static;
	margin-top: 0;
}

.limitations_dot {
	width: 17px;
	height: 17px;
	border-radius: 50%;
	border: 3px solid #ff00cc !important;
	cursor: pointer;
	background-color: #fff;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.limitations_dot.swiper-pagination-bullet-active {
	background-color: #ff00cc;
}

.limitations_close {
	width: 230px;
	position: absolute;
	right: 0;
	bottom: 50px;
	left: 0;
	margin: auto;
	display: none;
}

/* product page */
.product_page {
	margin: 0 auto;
	padding: 40px 20px;
	position: relative;
}

.product_page_layout {
	max-width: 1200px;
	display: flex;
	gap: 40px;
}

.product_page_main {
	display: flex;
	flex-direction: column;
	gap: 15px;
	min-width: 1100px !important;
}

.product_page_main_inner {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	flex-wrap: wrap;
}

.product_page_image {
	width: 55%;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	position: relative;
}

.product_page_image img {
	width: 100%;
	height: auto;
}

.product_page_video {
	width: 33%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.product_page_image video {
	max-width: 100%;
	height: auto;
}

.product_page_description {
	width: 100%;
	box-sizing: border-box;
	background-color: #fff;
	text-align: center;
	padding: 140px 20px 125px;
	font-size: 18px;
}

.fitme_section {
	margin-top: 40px;
	text-align: center;
}

.fitme_text {
	color: #666;
	font-size: 14px;
}

.product_page_details {
	width: 25%;
	flex-shrink: 0;
}

.product_page_details-m {
	display: none;
}

.product_page_back {
	font-size: 14px;
	font-weight: bold;
}

.product_page_back.-m {
	display: none;
}

.product_page_title {
	margin-top: 40px;
	font-size: 24px;
	font-weight: bold;
}

.product_page_subtitle {
	font-size: 24px;
	line-height: 1;
	margin-top: 10px;
}

.product_page .product_oldprice {
	font-size: 18px;
}

.size_selector {
	margin-top: 40px;
}

.size_options {
	display: flex;
	gap: 20px;
	margin-bottom: 10px;
}

.size_option {
	width: 40px;
	height: 40px;
	border-radius: 16px;
	border: 1px solid #ddd;
	background: white;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 14px;
	transition: all 0.2s;
}

.size_option:hover {
	border-color: #333;
}

.size_option.selected {
	border-color: #333;
}

.size_info {
	font-size: 12px;
}

.product_page_price {
	font-size: 24px;
	margin-top: 40px;
}

.add_to_basket {
	width: 100%;
	max-width: none;
	margin-top: 30px;
	font-weight: normal;
}

.add_to_basket:hover {
	background: #e6127a;
}

.add_to_basket:before {
	content: "+ ";
	margin-right: 25px;
	margin-left: -35px;
	font-size: 24px;
	line-height: 0;
}

.product_page-horizontal {
	.product_page_image {
		width: 100%;
	}

	.product_page_video {
		width: calc((100% - 15px) * 0.6);
	}

	.product_page_description {
		width: calc((100% - 15px) * 0.4);
		padding-top: 20px;
		padding-bottom: 20px;
	}

	.fitme_section {
		margin-top: 23px;
	}
}





@media screen and (min-width: 1441px) {
	.proto_footer {
		padding: 2.8vw 0 7.5vw;
		font-size: 1.11vw;
	}

	.proto_footer_intro {
		max-width: 71.05vw;
		font-size: 1.66vw;
		padding-top: 1.08vw;
	}

	.proto_footer_grid {
		max-width: 71.05vw;
	}
	
	.proto_footer_bottom {
		max-width: 42vw;
		font-size: 0.832vw;
	}

	.proto_footer_btn_after {
		font-size: 1.25vw;
	}

	.proto_footer_btn_after span:first-child {
		font-size: 2.1vw;
	}
}

@media screen and (min-width: 1182px) {
	.column_content .block:first-child {
		opacity: 1;
	}
}

@media screen and (max-width: 1335px) {
	body {
		padding-right: 20px;
		padding-left: 20px;
	}
}

@media screen and (max-width: 1330px) {
	p br {
		display: none;
	}
}

@media screen and (max-width: 1181px) {
	body {
		padding: 0 0 80px;
	}
	
	main {
		flex-direction: column;
		align-items: center;
		gap: 0;
	}

	.block10 {order: 10;}
	.block70 {order: 20;}
	.block80 {order: 30;}
	.block130 {order: 40;}
	.block140 {order: 50;}
	.block160 {order: 55;}
	.block150 {order: 60;}
	.block20 {order: 70;}
	.block30 {order: 80;}
	.block35 {order: 85;}
	.block100 {order: 90;}
	.block110 {order: 100;}
	.block40 {order: 110;}
	.block90 {order: 120;}
	.block170 {order: 130;}
	.block50 {order: 140;}
	.block180 {order: 150;}
	.block120 {order: 160;}
	.block60 {order: 180;}

	.block.a2 {
		box-shadow: none;
	}

	.column_content {
		gap: 0;
	}

	.block.a {
		animation: none;
	}

	.block170 img {
		width: calc(100% + 20px);
	}

	footer {
		bottom: 25px;
		left: 25px;
	}
}

@media screen and (max-width: 640px) {
	.header {
		padding-right: 20px;
		padding-left: 20px;
	}

	.proto_logo .logo {
		width: 100%;
	}

	.products_grid {
		grid-template-columns: repeat(2, 1fr);
		padding-right: 20px;
		padding-left: 20px;
	}

	.product_card:nth-child(5) {
		grid-column: span 2;
	}

	.product_card:nth-child(7),
	.product_card:nth-child(15) {
		grid-column: span 2;
		grid-row: span 1;
	}

	.product_card:nth-child(7) {order: 8;}
	.product_card:nth-child(8) {order: 7;}

	.proto_footer {
		padding-right: 20px;
		padding-left: 20px;
		padding-bottom: 50px;
	}

	.proto_footer_intro {
		font-size: 20px;
		text-align: center;
	}

	.proto_footer_intro span {
		display: block;
	}

	.proto_footer_item {
		color: #b0b0b0;
		gap: 15px;
		line-height: 1.2;
	}

	.proto_footer_item strong {
		font-weight: bold;
	}

	.proto_footer_head {
		display: none;
	}

	.proto_footer_item {
		flex-direction: column;
	}

	.proto_footer_item_title {
		text-align: left;
	}

	.proto_footer_item_title,
	.proto_footer_item_cell1,
	.proto_footer_item_cell2 {
		width: auto;
	}

	.proto_footer_item_no {
		display: inline;
	}

	.proto_footer_item:last-child {
		padding-top: 0;
	}

	.proto_footer_item:last-child .proto_footer_item_title,
	.proto_footer_item:last-child .proto_footer_item_cell1 {
		display: none;
	}

	.proto_footer_btn_after {
		left: 20px;
		gap: 0.8em;
	}

	.product_image,
	.product_image_wrap,
	.product_video_wrap {
		transition: none;
	}

	.add_btn {
		opacity: 1;
		transition: none;
		display: none;
	}

	.proto_msg {
		position: fixed;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	.product_page_layout {
		flex-direction: column;
		align-items: center;
	}

	.product_page_details {
		display: none;
	}

	.product_page_details-m {
		display: block;
	}

	.product_page_main_inner {
		/*flex-direction: column;*/
		gap: 40px;
	}

	.product_page_image {
		width: 100%;
		order: 2;
	}

	.product_page_video {
		width: 100%;
		order: 1
	}

	.product_page_description {
		order: 2;
	}

	.product_page_details-m {
		position: absolute;
		bottom: 30px;
		left: 20px;
		
		.product_page_title {
			font-size: 16px;
			color: #000;
		}

		.product_page_subtitle {
			margin-top: 5px;
			font-size: 16px;
			color: #000;
		}
		
		.product_page_price {
			margin-top: 10px;
			font-size: 16px;
			color: #000;
		}

		.product_oldprice {
			font-size: 12px;
		}
	}

	.product_page .add_btn {
		display: block;
		right: 20px;
		bottom: 24px;
	}

	.product_page_back.-d {
		display: none;
	}

	.product_page_back.-m {
		display: block;
		font-size: 16px;
	}

}

@media screen and (max-width: 480px) {
	body {
		padding-right: 0;
		padding-left: 0;
	}
}

@media screen and (max-width: 405px) {
	.limitations_block br {
		display: none;
	}
}

@media screen and (max-width: 400px) {
	.column {
		width: 100%;
	}

	.block140_img1,
	.block160_img1 {
		max-width: 100%;
	}
}

@media screen and (max-width: 391px) {
	.fz40 {
		font-size: 9.7vw;
	}
}

@media screen and (max-width: 380px) {
	.proto_footer_btn {
		font-size: 4vw;
	}
}

@media screen and (max-width: 380px) {
	.fitme_section {
		font-size: 4.6vw;
	}
}

@media screen and (max-width: 518px) {
	.m {
		display: none;
	}
}

.nowrap {
	white-space: nowrap;
}

/* Choose model video overlay */
.choose_model_item {
	position: relative;
	display: inline-block;
	overflow: hidden;
}

.choose_model_item .choose_model_img,
.choose_model_item .choose_model_video {
	display: block;
	width: 100%;
	height: auto;
}

.choose_model_item .choose_model_video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.05s ease;
	pointer-events: none;
	border-radius: 16px;
}
@media screen and (max-width: 640px) {
	.choose_model_item .choose_model_video {
		max-height: 100%;
	}
}

.choose_model_item .choose_model_video.visible {
	opacity: 1;
}

.choose_model_item.flash::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: white;
	opacity: 0;
	animation: chooseModelFlash 0.3s ease-out forwards;
	pointer-events: none;
	z-index: 2;
}

@keyframes chooseModelFlash {
	0%   { opacity: 0.8; }
	100% { opacity: 0; }
}

/* ===========================
   UPLOADING — new design
   =========================== */

.uploading_title {
	font-size: 26px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-top: 40px;
}

/* Hint row */
.uploading_hint {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-top: 28px;
}

.uploading_hint_icon {
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	background: url('/static/i/prototype/uploading/camera.png') no-repeat center;
	background-size: contain;
}

.uploading_hint div {
	font-size: 15px;
	line-height: 1.5;
}
.uploading_hint .enought {
	color: #fff;
	background-color: #ff008c;
}

.uploading_privacy {
	font-size: 13px;
	color: #999;
	line-height: 1.5;
	margin-top: 10px;
}

/* Upload slots */
.uploading_slots {
	display: flex;
	gap: 24px;
	margin-top: 32px;
}

.uploading_slot {
	text-align: center;
	opacity: 0;
	transform: translateY(12px);
	animation: uploadSlotAppear 0.4s ease forwards;
}

.uploading_slot:nth-child(1) { animation-delay: 0.1s; }
.uploading_slot:nth-child(2) { animation-delay: 0.35s; }
.uploading_slot:nth-child(3) { animation-delay: 0.6s; }

@keyframes uploadSlotAppear {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.uploading_slot_label {
	display: block;
	cursor: pointer;
	position: relative;
	width: 96px;
	height: 96px;
	border-radius: 16px;
	overflow: hidden;
	transition: transform 0.2s;
}

.uploading_slot_label:hover {
	transform: scale(1.05);
}

.uploading_slot_input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	pointer-events: none;
}

/* Icon states */
.uploading_slot_icon {
	width: 100%;
	height: 100%;
	position: relative;
}

.uploading_slot_icon img {
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	transition: opacity 0.3s;
}

.uploading_slot_icon_default {
	opacity: 1;
}

.uploading_slot_icon_active {
	opacity: 0;
}

.uploading_slot.filled .uploading_slot_icon_default {
	opacity: 0;
}

.uploading_slot.filled .uploading_slot_icon_active {
	opacity: 1;
}

/* Preview thumbnail */
.uploading_slot_preview {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 0.3s;
	z-index: 2;
}

.uploading_slot.filled .uploading_slot_preview {
	opacity: 1;
}

.uploading_slot_thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 16px;
}

.uploading_slot_remove {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 22px;
	height: 22px;
	border: none;
	border-radius: 50%;
	background: rgba(0,0,0,0.5);
	color: #fff;
	font-size: 14px;
	line-height: 22px;
	text-align: center;
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.2s;
	padding: 0;
	z-index: 3;
}

.uploading_slot.filled .uploading_slot_remove {
	opacity: 1;
}

.uploading_slot_remove:hover {
	background: rgba(0,0,0,0.75);
}

.uploading_slot_name {
	margin-top: 8px;
	font-size: 13px;
	color: #555;
	line-height: 1.3;
}

/* Generate button */
.uploading_generate {
	margin-top: 24px;
}

/* ===========================
   Кнопка Generate — как в дизайне
   =========================== */

.btn-generate {
	max-width: none;
	width: auto;
	padding: 18px 48px;
	font-family: Circe, sans-serif;
	font-size: 18px;
	font-weight: 400; /* Light — тонкий шрифт как в дизайне */
	letter-spacing: 0.3px;
	text-transform: none;
	white-space: nowrap; /* Одна строка */
	border: none;
	border-radius: 14px;
	background: linear-gradient(90deg, #ff008c 0%, #da15c0 50%, #c41ad4 100%);
	color: #fff;
	cursor: pointer;
	transition: transform 0.2s, box-shadow 0.2s;
}

.btn-generate:hover {
	transform: scale(1.02);
	box-shadow: 0 8px 24px rgba(218, 21, 192, 0.35);
}

.btn-generate:active {
	transform: scale(0.98);
}

/* Контейнер кнопки — центрирование */
.uploading_generate {
	margin-top: 32px;
	text-align: center;
}

.uploading_generate_count {
	font-size: 14px;
	color: #999;
	margin-bottom: 16px;
}

/* Mobile */
@media screen and (max-width: 480px) {
	.btn-generate {
		padding: 16px 32px;
		font-size: 16px;
		border-radius: 12px;
	}
}

/* Demo section */
.uploading_demo {
	margin-top: 56px;
	text-align: center;
}

.uploading_demo_title {
	font-size: 16px;
	padding-top: 0;
	margin: 0;
}

.uploading_demo_subtitle {
	font-size: 14px;
	color: #888;
	padding-top: 4px;
	margin: 0;
}

.uploading_demo_models {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-top: 24px;
}

/* Demo model item — video overlay */
.uploading_demo_item {
	position: relative;
	display: block;
	width: 260px;
	border-radius: 12px;
	overflow: hidden;
	cursor: pointer;
	text-decoration: none;
}

.uploading_demo_item .uploading_demo_img {
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	z-index: 1;
}

.uploading_demo_item .uploading_demo_video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.05s ease;
	pointer-events: none;
	z-index: 2;
}

.uploading_demo_item .uploading_demo_video.visible {
	opacity: 1;
}

/* Flash effect */
.uploading_demo_item.flash::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: white;
	opacity: 0;
	animation: uploadDemoFlash 0.3s ease-out forwards;
	pointer-events: none;
	z-index: 3;
}

@keyframes uploadDemoFlash {
	0%   { opacity: 0.8; }
	100% { opacity: 0; }
}

/* Mobile */
@media screen and (max-width: 640px) {
	.uploading {
		max-width: none;
		top: 180px;
	}

	.uploading_slots {
		gap: 16px;
	}

	.uploading_slot_label {
		width: 80px;
		height: 80px;
	}

	.uploading_hint br,
	.uploading_privacy br {
		display: none;
	}

	.uploading_demo_models {
		/*flex-direction: column;*/
		align-items: center;
		gap: 16px;
	}

	.uploading_demo_item {
		width: 100%;
		max-width: 300px;
	}

	.btn-generate {
		width: 100%;
		max-width: none;
		text-align: center;
	}
}

/* Limitations: кнопка заблокирована до последнего слайда */
.limitations_close[disabled] {
	opacity: 0.35;
	pointer-events: none;
	cursor: default;
}

/* ===========================
   UPLOADING — дополнения
   =========================== */

/* Тег под названием слота (recommended, improves accuracy) */
.uploading_slot_tag {
	font-size: 11px;
	color: #999;
	margin-top: 4px;
}

/* Счётчик загруженных фото */
.uploading_generate_count {
	font-size: 14px;
	color: #666;
	margin-bottom: 12px;
	text-align: center;
}

/* --- Progress bar --- */
.uploading_progress {
	text-align: center;
	padding: 20px 0;
	animation: fadeInUp 0.4s ease;
}

.uploading_progress_title {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 24px;
}

.uploading_progress_bar {
	width: 100%;
	max-width: 400px;
	height: 6px;
	background: #e0e0e0;
	border-radius: 3px;
	margin: 0 auto 16px;
	overflow: hidden;
}

.uploading_progress_bar_fill {
	width: 0%;
	height: 100%;
	background: linear-gradient(90deg, #ff008c, #da15c0);
	border-radius: 3px;
	transition: width 0.4s ease;
}

.uploading_progress_percent {
	font-size: 36px;
	font-weight: 700;
	margin-bottom: 8px;
	font-variant-numeric: tabular-nums;
}

.uploading_progress_status {
	font-size: 14px;
	color: #666;
	margin-bottom: 20px;
	min-height: 20px;
}

.uploading_progress_note {
	font-size: 12px;
	color: #999;
	line-height: 1.5;
	margin-bottom: 24px;
}

/* Email form inside progress */
.uploading_progress_email {
	max-width: 400px;
	margin: 0 auto;
	text-align: left;
	background: #f9f9f9;
	border-radius: 12px;
	padding: 20px;
}

.uploading_progress_email p {
	font-size: 14px;
	line-height: 1.45;
	margin-bottom: 12px;
	padding-top: 0;
}

.uploading_email_form {
	display: flex;
	gap: 10px;
}

.uploading_email_form input[type="email"] {
	flex: 1;
	padding: 10px 14px;
	border-radius: 8px;
	border: 1px solid #ddd;
	background: #fff;
	font-size: 14px;
	font-family: Circe, sans-serif;
}

.uploading_email_form input[type="email"]:focus {
	outline: none;
	border-color: #da15c0;
}

.uploading_email_form .btn-small {
	padding: 10px 20px;
	font-size: 14px;
	white-space: nowrap;
}

.uploading_email_sent {
	font-size: 14px;
	color: #4CAF50;
	padding: 10px 0;
}

/* Error block */
.uploading_error {
	text-align: center;
	padding: 20px;
	margin: 20px 0;
	animation: fadeInUp 0.4s ease;
}

.uploading_error_icon {
	font-size: 32px;
	margin-bottom: 8px;
}

.uploading_error_text {
	font-size: 14px;
	color: #666;
	margin-bottom: 16px;
}

/* Small button variant */
.btn-small {
	max-width: none;
	padding: 10px 20px;
	font-size: 14px;
	text-transform: none;
}

/* Label under demo models */
.uploading_demo_label {
	position: absolute;
	bottom: 12px;
	left: 0;
	right: 0;
	text-align: center;
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	text-shadow: 0 1px 4px rgba(0,0,0,0.5);
	pointer-events: none;
	z-index: 4;
}

/* Fade in animation */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Mobile additions */
@media screen and (max-width: 640px) {
	.uploading_progress_bar {
		max-width: 100%;
	}

	.uploading_email_form {
		flex-direction: column;
	}

	.uploading_progress_email {
		padding: 16px;
	}
}

/* ===========================
   UPLOADING — исправленные размеры слотов
   =========================== */

.uploading_slots {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-top: 32px;
}

.uploading_slot {
	text-align: center;
	opacity: 0;
	transform: translateY(12px);
	animation: uploadSlotAppear 0.4s ease forwards;
}

.uploading_slot:nth-child(1) { animation-delay: 0.1s; }
.uploading_slot:nth-child(2) { animation-delay: 0.35s; }
.uploading_slot:nth-child(3) { animation-delay: 0.6s; }

.uploading_slot_label {
	display: block;
	cursor: pointer;
	position: relative;
	width: 96px;
	height: 96px;
	border-radius: 16px;
	overflow: hidden;
	transition: transform 0.2s, box-shadow 0.2s;
	background: #f5f5f5;
}

.uploading_slot_label:hover {
	transform: scale(1.03);
	box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}

.uploading_slot_icon {
	width: 100%;
	height: 100%;
	position: relative;
}

.uploading_slot_icon img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

/* Preview поверх иконки */
.uploading_slot_preview {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 0.3s;
	z-index: 2;
}

.uploading_slot.filled .uploading_slot_preview {
	opacity: 1;
}

.uploading_slot.filled .uploading_slot_icon {
	opacity: 0;
}

.uploading_slot_thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 16px;
}

/* Mobile — чуть меньше, но пропорционально */
@media screen and (max-width: 640px) {
	.uploading_slots {
		gap: 12px;
	}

	.uploading_slot_label {
		width: 143px;  /* 179 * 0.8 */
		height: 124px; /* 155 * 0.8 */
		border-radius: 12px;
	}

	.uploading_slot_thumb {
		border-radius: 12px;
	}
}

@media screen and (max-width: 480px) {
	.uploading_slot_label {
		width: 107px;  /* 179 * 0.6 */
		height: 93px;  /* 155 * 0.6 */
		border-radius: 10px;
	}

	.uploading_slot_thumb {
		border-radius: 10px;
	}

	.uploading_slot_name {
		font-size: 12px;
	}

	.uploading_slot_tag {
		font-size: 10px;
	}
}

/* ===========================
   CHOOSE MODEL — block130
   =========================== */

.choose_model {
	padding-left: 30px;
	margin-bottom: 70px;
	position: relative;
}

.choose_model::before {
	content: '';
	margin-left: -30px;
	width: 22px;
	height: 19px;
	background: url('/static/i/icon_rarr.webp') no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
}

/* УДАЛЕНО: .choose_model_link — больше не используется */

.choose_model_popup {
	width: 100%;
	height: 0;
	background-color: #fff;
	border-radius: 10px;
	z-index: 1000;
	overflow: hidden;
	transition: height 0.4s;
	display: flex;
	gap: 4%;
	transform: translate(-20px, 20px);
}

.choose_model_popup img {
	border-radius: 16px;
	cursor: pointer;
}

/* Popup открыт по умолчанию (класс active добавлен в HTML) */
.choose_model.active .choose_model_popup {
	height: 286px;
}

/* Choose model video overlay */
.choose_model_item {
	position: relative;
	display: inline-block;
	overflow: hidden;
}

.choose_model_item .choose_model_img,
.choose_model_item .choose_model_video {
	display: block;
	width: 100%;
	height: auto;
}

.choose_model_item .choose_model_video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.05s ease;
	pointer-events: none;
	right: 0;
	bottom: 0;
}

/* fix iOS Safari: hide the poster image while the video is playing so it can't peek out under the video */
.choose_model_item:has(.choose_model_video.visible) .choose_model_img {
	opacity: 0;
}

.choose_model_item .choose_model_video.visible {
	opacity: 1;
}

.choose_model_item.flash::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: white;
	opacity: 0;
	animation: chooseModelFlash 0.3s ease-out forwards;
	pointer-events: none;
	z-index: 2;
}

@keyframes chooseModelFlash {
	0%   { opacity: 0.8; }
	100% { opacity: 0; }
}

/* ===========================
   UPLOADING — unified styles
   =========================== */

.uploading_title {
	font-size: 26px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* Hint row */
.uploading_hint {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-top: 28px;
}

.uploading_hint_icon {
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	background: url('/static/i/prototype/uploading/camera.png') no-repeat center;
	background-size: contain;
}

.uploading_hint div {
	font-size: 15px;
	line-height: 1.5;
}

.uploading_privacy {
	font-size: 13px;
	color: #999;
	line-height: 1.5;
	margin-top: 10px;
}

/* Upload slots */
.uploading_slots {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-top: 32px;
}

.uploading_slot {
	text-align: center;
	opacity: 0;
	transform: translateY(12px);
	animation: uploadSlotAppear 0.4s ease forwards;
}

.uploading_slot:nth-child(1) { animation-delay: 0.1s; }
.uploading_slot:nth-child(2) { animation-delay: 0.35s; }
.uploading_slot:nth-child(3) { animation-delay: 0.6s; }

@keyframes uploadSlotAppear {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.uploading_slot_label {
	display: block;
	cursor: pointer;
	position: relative;
	width: 117px;
	height: 117px;
	border-radius: 16px;
	overflow: hidden;
	transition: transform 0.2s, box-shadow 0.2s;
	background: #f5f5f5;
}

.uploading_slot_label:hover {
	transform: scale(1.03);
	box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}

.uploading_slot_input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	pointer-events: none;
}

/* Icon states */
.uploading_slot_icon {
	width: 100%;
	height: 100%;
	position: relative;
}

.uploading_slot_icon img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	transition: opacity 0.3s;
}

.uploading_slot_icon_default {
	opacity: 1;
}

.uploading_slot_icon_active {
	opacity: 0;
}

.uploading_slot.filled .uploading_slot_icon_default {
	opacity: 0;
}

.uploading_slot.filled .uploading_slot_icon_active {
	opacity: 1;
}

.uploading_slot.filled .uploading_slot_icon {
	opacity: 0;
}

/* Preview thumbnail */
.uploading_slot_preview {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 0.3s;
	z-index: 2;
}

.uploading_slot.filled .uploading_slot_preview {
	opacity: 1;
}

.uploading_slot_thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 16px;
}

.uploading_slot_remove {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 22px;
	height: 22px;
	border: none;
	border-radius: 50%;
	background: rgba(0,0,0,0.5);
	color: #fff;
	font-size: 14px;
	line-height: 22px;
	text-align: center;
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.2s;
	padding: 0;
	z-index: 3;
}

.uploading_slot.filled .uploading_slot_remove {
	opacity: 1;
}

.uploading_slot_remove:hover {
	background: rgba(0,0,0,0.75);
}

.uploading_slot_name {
	margin-top: 8px;
	font-size: 13px;
	color: #555;
	line-height: 1.3;
}

.uploading_slot_tag {
	font-size: 11px;
	color: #999;
	margin-top: 4px;
}

/* Generate button container */
.uploading_generate {
	margin-top: 32px;
	text-align: center;
}

.uploading_generate_count {
	font-size: 14px;
	color: #666;
	margin-bottom: 12px;
}

/* Generate button */
.btn-generate {
	max-width: none;
	width: auto;
	padding: 18px 48px;
	font-family: Circe, sans-serif;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0.3px;
	text-transform: none;
	white-space: nowrap;
	border: none;
	border-radius: 14px;
	background: linear-gradient(90deg, #ff008c 0%, #da15c0 50%, #c41ad4 100%);
	color: #fff;
	cursor: pointer;
	transition: transform 0.2s, box-shadow 0.2s;
}

.btn-generate:hover {
	transform: scale(1.02);
	box-shadow: 0 8px 24px rgba(218, 21, 192, 0.35);
}

.btn-generate:active {
	transform: scale(0.98);
}

/* Demo section */
.uploading_demo {
	margin-top: 56px;
	text-align: center;
}

.uploading_demo_title {
	font-size: 16px;
	padding-top: 0;
	margin: 0;
}

.uploading_demo_subtitle {
	font-size: 14px;
	color: #888;
	padding-top: 4px;
	margin: 0;
}

.uploading_demo_models {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-top: 24px;
}

.uploading_demo_item {
	position: relative;
	display: block;
	width: 260px;
	border-radius: 12px;
	overflow: hidden;
	cursor: pointer;
	text-decoration: none;
}

.uploading_demo_item .uploading_demo_img {
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	z-index: 1;
}

.uploading_demo_item .uploading_demo_video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.05s ease;
	pointer-events: none;
	z-index: 2;
}

.uploading_demo_item .uploading_demo_video.visible {
	opacity: 1;
}

.uploading_demo_item.flash::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: white;
	opacity: 0;
	animation: uploadDemoFlash 0.3s ease-out forwards;
	pointer-events: none;
	z-index: 3;
}

@keyframes uploadDemoFlash {
	0%   { opacity: 0.8; }
	100% { opacity: 0; }
}

.uploading_demo_label {
	position: absolute;
	bottom: 12px;
	left: 0;
	right: 0;
	text-align: center;
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	text-shadow: 0 1px 4px rgba(0,0,0,0.5);
	pointer-events: none;
	z-index: 4;
}

/* Progress bar */
.uploading_progress {
	text-align: center;
	padding: 20px 0;
	animation: fadeInUp 0.4s ease;
}

.uploading_progress_title {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 24px;
}

.uploading_progress_bar {
	width: 100%;
	max-width: 400px;
	height: 6px;
	background: #e0e0e0;
	border-radius: 3px;
	margin: 0 auto 16px;
	overflow: hidden;
}

.uploading_progress_bar_fill {
	width: 0%;
	height: 100%;
	background: linear-gradient(90deg, #ff008c, #da15c0);
	border-radius: 3px;
	transition: width 0.4s ease;
}

.uploading_progress_percent {
	font-size: 36px;
	font-weight: 700;
	margin-bottom: 8px;
	font-variant-numeric: tabular-nums;
}

.uploading_progress_status {
	font-size: 14px;
	color: #666;
	margin-bottom: 20px;
	min-height: 20px;
}

.uploading_progress_note {
	font-size: 12px;
	color: #999;
	line-height: 1.5;
	margin-bottom: 24px;
}

/* Email form inside progress */
.uploading_progress_email {
	max-width: 400px;
	margin: 0 auto;
	text-align: left;
	background: #f9f9f9;
	border-radius: 12px;
	padding: 20px;
}

.uploading_progress_email p {
	font-size: 14px;
	line-height: 1.45;
	margin-bottom: 12px;
	padding-top: 0;
}

.uploading_email_form {
	display: flex;
	gap: 10px;
}

.uploading_email_form input[type="email"] {
	flex: 1;
	padding: 10px 14px;
	border-radius: 8px;
	border: 1px solid #ddd;
	background: #fff;
	font-size: 14px;
	font-family: Circe, sans-serif;
}

.uploading_email_form input[type="email"]:focus {
	outline: none;
	border-color: #da15c0;
}

.uploading_email_form .btn-small {
	padding: 10px 20px;
	font-size: 14px;
	white-space: nowrap;
}

.uploading_email_sent {
	font-size: 14px;
	color: #4CAF50;
	padding: 10px 0;
}

/* Error block */
.uploading_error {
	text-align: center;
	padding: 20px;
	margin: 20px 0;
	animation: fadeInUp 0.4s ease;
}

.uploading_error_icon {
	font-size: 32px;
	margin-bottom: 8px;
}

.uploading_error_text {
	font-size: 14px;
	color: #666;
	margin-bottom: 16px;
}

/* Small button variant */
.btn-small {
	max-width: none;
	padding: 10px 20px;
	font-size: 14px;
	text-transform: none;
}

/* Fade in animation */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ===========================
   UPLOADING — Mobile
   =========================== */

@media screen and (max-width: 640px) {
	.uploading {
		max-width: none;
		top: 180px;
	}

	.uploading_slots {
		gap: 12px;
	}

	.uploading_slot_label {
		width: 143px;
		height: 124px;
		border-radius: 12px;
	}

	.uploading_slot_thumb {
		border-radius: 12px;
	}

	.uploading_hint br,
	.uploading_privacy br {
		display: none;
	}

	.uploading_demo_models {
		/*flex-direction: column;*/
		align-items: center;
		gap: 16px;
	}

	.uploading_demo_item {
		width: 100%;
		max-width: 300px;
	}

	.btn-generate {
		width: 100%;
		max-width: none;
		text-align: center;
	}

	.uploading_progress_bar {
		max-width: 100%;
	}

	.uploading_email_form {
		flex-direction: column;
	}

	.uploading_progress_email {
		padding: 16px;
	}
}

@media screen and (max-width: 480px) {
	.uploading_slot_label {
		width: 107px;
		height: 93px;
		border-radius: 10px;
	}

	.uploading_slot_thumb {
		border-radius: 10px;
	}

	.uploading_slot_name {
		font-size: 12px;
	}

	.uploading_slot_tag {
		font-size: 10px;
	}

	.btn-generate {
		padding: 16px 32px;
		font-size: 16px;
		border-radius: 12px;
	}
}


/* ===========================
   PRODUCT PAGE — новая сетка медиа
   =========================== */

.product_page {
	margin: 0 auto;
	padding: 40px 20px;
	position: relative;
}

.product_page_layout {
	max-width: 1200px;
	margin-left: 50px;
	display: flex;
	gap: 40px;
	align-items: flex-start;
}

.product_page_main {
	flex: 1;
	min-width: 0;
}

.product_page_main_inner {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	align-items: flex-start;
	justify-content: flex-start;
}

/* Медиа-элементы — базовые стили */
.product_page_media {
	position: relative;
	overflow: hidden;
	background: #f5f5f5;
}

.product_page_media img,
.product_page_media video {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.product_page_media img {
	background: #fff;
}

/* Ширины для вертикального layout */
.product_page_media-wide {
	width: calc(55% - 8px); 
}

.product_page_media-narrow {
	width: calc(45% - 8px);
}

.product_page_media-half {
	width: calc(50% - 8px);
}

.product_page_media-full {
	width: 100%;
}

/* Соотношения сторон */
.product_page_media.product_page_video[data-orientation="vertical"] {
	/*aspect-ratio: 9 / 16;*/
}

.product_page_media.product_page_video[data-orientation="horizontal"] {
	/*aspect-ratio: 16 / 9;*/
	width: 100%;
}

.product_page_media.product_page_image[data-orientation="vertical"] {
	/*aspect-ratio: 9 / 16;*/
}

.product_page_media.product_page_image[data-orientation="horizontal"] {
	/*aspect-ratio: 16 / 9;*/
	width: 100%;
}

/* Описание */
.product_page_description {
	box-sizing: border-box;
	background-color: #fff;
	text-align: center;
	padding: 60px 20px;
	font-size: 16px;
	line-height: 1.5;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.product_page_description.product_page_media-full {
	padding: 100px 20px;
}

.product_page_description.product_page_media-narrow {
	padding: 30px 20px;
}

.product_page_description p {
	padding-top: 15px;
	margin: 0;
}

.fitme_section {
	margin-top: 30px;
	font-size: 14px;
}

.fitme_section .r {
	font-weight: bold;
}

/* Строка для horizontal layout */
.product_page_row {
	width: 100%;
	display: flex;
	gap: 15px;
}

/* ===========================
   PRODUCT PAGE — Horizontal Layout (товар 5)
   =========================== */

.product_page-horizontal .product_page_main_inner {
	/* Сохраняем flex-wrap для переноса строк */
}

.product_page-horizontal .product_page_media-full {
	width: 100%;
}

.product_page-horizontal .product_page_media-half {
	width: calc(50% - 14px);
}

/* ===========================
   PRODUCT PAGE — Правая панель (desktop)
   =========================== */

.product_page_details {
	width: 320px;
	flex-shrink: 0;
	position: sticky;
	top: 20px;
	align-self: flex-start;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
}

.product_page_back.-d {
	font-size: 14px;
	font-weight: bold;
	text-decoration: underline;
	color: inherit;
	display: inline-block;
}

.product_page_back.-d:hover {
	color: #ff00ba;
}

.product_page_back.-m {
	display: none;
}

.product_page_title {
	margin-top: 30px;
	font-size: 22px;
	font-weight: bold;
	color: #000;
}

.product_page_subtitle {
	font-size: 18px;
	line-height: 1.3;
	margin-top: 8px;
	color: #333;
}

/* Выбор размера */
.size_selector {
	margin-top: 30px;
}

.size_options {
	display: flex;
	gap: 12px;
	margin-bottom: 10px;
}

.size_option {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	border: 1px solid #ddd;
	background: white;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 14px;
	transition: all 0.2s;
}

.size_option:hover {
	border-color: #333;
}

.size_option.selected {
	border-color: #333;
	background: #000;
	color: #fff;
}

.size_info {
	font-size: 12px;
	color: #666;
	margin: 0;
	padding: 0;
}

.size_info span {
	font-weight: bold;
}

.product_page_price {
	font-size: 24px;
	margin-top: 25px;
	color: #000;
}

.product_page_price .product_oldprice {
	font-size: 16px;
	color: #000;
	text-decoration: line-through;
	margin-right: 8px;
}

.product_page_price .product_newprice {
	color: #9309b9;
}

.product_page_price .sale-tag {
	margin-left: 8px;
}

/* Кнопка добавить в корзину */
.add_to_basket {
	width: 100%;
	max-width: none;
	margin-top: 25px;
	font-size: 22px;
	font-weight: 500;
	text-transform: lowercase;
	padding-top: 18px;
	padding-bottom: 18px;
	border-radius: 18px;
}

.add_to_basket:hover {
	opacity: 0.9;
}

/* ===========================
   PRODUCT PAGE — Мобильные детали
   =========================== */

.product_page_details-m {
	position: absolute;
	bottom: 15px;
	left: 15px;
	right: 60px;
	z-index: 5;
	color: #fff;
	text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}

.product_page_details-m .product_page_title {
	font-size: 16px;
	margin-top: 0;
	color: #000;
}

.product_page_details-m .product_page_subtitle {
	font-size: 14px;
	margin-top: 4px;
	color: #000;
}

.product_page_details-m .product_page_price {
	font-size: 14px;
	margin-top: 8px;
	color: #fff;
}

.product_page_details-m .product_oldprice {
	font-size: 12px;
}

/* Кнопка + на видео (мобильная) */
.product_page_video .add_btn {
	display: none;
	position: absolute;
	right: 15px;
	bottom: 15px;
	z-index: 5;
	opacity: 1;
	/*background: rgba(255,255,255,0.9);*/
}

/* ===========================
   PRODUCT PAGE — Mobile
   =========================== */

@media screen and (max-width: 640px) {
	.product_page {
		padding: 20px 15px;
	}

	.product_page_layout {
		flex-direction: column;
		gap: 20px;
	}

	.product_page_main_inner {
		/*flex-direction: column;*/
		gap: 20px;
	}

	/* Все элементы на всю ширину */
	.product_page_media-wide,
	.product_page_media-narrow,
	.product_page_media-half,
	.product_page_media-full {
		width: 100%;
	}

	/* Скрываем desktop детали */
	.product_page_details {
		display: none;
	}

	/* Показываем мобильные детали */
	.product_page_details-m {
		display: block;
	}

	.product_page_video .add_btn {
		display: block;
	}

	/* Мобильная кнопка назад */
	.product_page_back.-d {
		display: none;
	}

	.product_page_back.-m {
		display: block;
		margin-top: 20px;
		text-align: left;
	}
	.product_page_back.-m.-bottom {
		text-align: right;
		width: 100%;
	}

	/* Описание */
	.product_page_description {
		padding: 40px 20px;
	}

	.product_page_description br {
		display: none;
	}

	/* Порядок элементов: видео первым */
	.product_page_video:first-of-type {
		order: -1;
	}
}

@media screen and (max-width: 640px) {
	.product_page_layout {
		margin-left: 0;
		margin-right: 0;
	}

	.product_page_main {
		min-width: 0 !important;
	}
}

body.body-prototype {
    --progress: 0%;
    position: relative;
    background: #fff;
}
body.body-prototype.completed {
	--progress: 100%;
}

body.body-prototype::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: var(--progress);
    height: 100%;
    background: #f2f2f2;
    z-index: -1;
    transition: width .5s ease;
}

.yalla {
	font-size: 28px;
	font-weight: 600;
	text-align: center;
	display: none;
}
.btn-goto {
	text-transform: none;
	font-family: Circe, sans-serif;
	max-width: 270px;
	padding-right: 20px;
	padding-left: 20px;
	margin-top: 65px;
	margin-bottom: 30px;
	display: none;
}
.limitations_block.completed .yalla,
.limitations_block.completed .btn-goto {
	display: block;
}
.btn-next {
	text-transform: none;
	font-family: Circe, sans-serif;
	max-width: 250px;
	padding-right: 20px;
	padding-left: 20px;
	margin-top: 65px;
	margin-bottom: 30px;
}
.finally-catalog-limitation-progress {
	font-family: Circe, sans-serif;
	font-weight: 600;
	font-size: 18px;
	color: #f3069d;
	padding-left: 20px;
}
.finally-catalog-limitation-progress .preparing_limitation_progress {
	font-weight: 800;
}

.limitations_block.completed .finally-catalog-limitation-progress,
.limitations_block.completed .finally-catalog-limitation-text {
	display: none;
}

.limitations_nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0px;
	margin-top: 20px;
	position: relative;
	top: -70px;
}
@media screen and (max-width: 400px) {
	.limitations_nav {
		top: -40px;
	}
	body.completed .limitations_nav {
		top: -60px;
	}
}

.btn-next {
	margin-top: 0;
	margin-bottom: 0;
	margin-right: 20px;
	white-space: nowrap;
}

.swiper[data-current-slide="5"] ~ .limitations_nav .limitations_dots,
.swiper[data-current-slide="5"] ~ .limitations_nav .btn-next {
	opacity: 0;
	pointer-events: none;
}

.swiper[data-current-slide="5"] ~ .limitations_close {
	display: block;
}
.limitations_dot.swiper-pagination-bullet-active {
	position: relative;
}

.limitations_dot.swiper-pagination-bullet-active::after {
	content: '→';
	position: absolute;
	left: calc(100% + 7px);
	top: 50%;
	transform: translateY(-42%);
	color: #ff00cc;
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
	pointer-events: none;
	font-family: Circe, sans-serif;
}

.inp-email {
	font-family: Circe, sans-serif;
	font-size: 16px;
	font-weight: 600;
	padding: 4px 5px;
	height: 30px;
	min-width: 215px;
	border: 1px solid #a0a0a0;
	background-color: #fafafa;
}
.btn-email-send {
	font-family: Circe, sans-serif;
	font-size: 14px;
	padding: 8px 24px;
	height: 42px;
	position: relative;
	top: -1px;
}
.hint-notifications {
	width: 100%;
	color: #7f7f7f;
}

/* ===========================
   Catalog progress (block130)
   =========================== */

.catalog_progress {
	position: relative;
	margin-top: 35px;
	margin-bottom: 35px;
	width: 100%;
	aspect-ratio: 400 / 228;
	overflow: hidden;
	background: #fff url('/static/i/prototype-in-progress.jpg') no-repeat center center;
	background-size: contain;
	color: #fff;
	display: flex;
	align-items: center;
	padding: 0 25px;
	box-sizing: border-box;
	gap: 16px;
}

.catalog_progress_value {
	position: relative;
	z-index: 1;
	font-size: 60px;
	font-weight: 700;
	line-height: 1;
	color: #ff23e8;
	display: flex;
	align-items: baseline;
	letter-spacing: -1px;
	min-width: 110px;
	margin-left: 20px;
}

.catalog_progress_num {
	display: inline-block;
	font-variant-numeric: tabular-nums;
	transition: transform .35s ease, opacity .35s ease;
}

.catalog_progress_num.flip {
	animation: progressNumFlip .5s ease;
}

@keyframes progressNumFlip {
	0%   { transform: translateY(0);    opacity: 1; }
	40%  { transform: translateY(-8px); opacity: 0; }
	60%  { transform: translateY(8px);  opacity: 0; }
	100% { transform: translateY(0);    opacity: 1; }
}

.catalog_progress_pct {
	font-size: 28px;
	font-weight: 700;
	margin-left: 4px;
}

.catalog_progress_text {
	position: relative;
	z-index: 1;
	font-size: 20px;
	line-height: 1.2;
	color: #fff;
	font-weight: 400;
}

@media screen and (max-width: 400px) {
	.catalog_progress_value {
		font-size: 48px;
		min-width: 105px;
	}
	.catalog_progress_pct {
		font-size: 22px;
	}
	.catalog_progress_text {
		font-size: 17px;
	}
}

/* ===========================
   Catalog ready (block130)
   =========================== */

.catalog_ready {
	position: relative;
	margin-top: 35px;
	margin-bottom: 35px;
	width: 100%;
	border-radius: 14px;
	overflow: hidden;
	background: #000;
	aspect-ratio: 9 / 16;
	max-width: 360px;
}

.catalog_ready_media,
.catalog_ready_media video,
.catalog_ready_media img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.catalog_ready_btn {
	position: absolute;
	left: 20px;
	right: 20px;
	bottom: 25px;
	max-width: none;
	z-index: 2;
	text-transform: uppercase;
	font-size: 15px;
	padding: 16px 15px;
	border-radius: 10px;
	text-align: center;
}

@media screen and (max-width: 400px) {
	.catalog_ready_btn {
		font-size: 14px;
		padding: 14px 12px;
	}
}

.catalog_ready.flash::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	opacity: 0;
	animation: catalogReadyFlash .45s ease-out forwards;
	pointer-events: none;
	z-index: 1;
}

@keyframes catalogReadyFlash {
	0%   { opacity: 0; }
	25%  { opacity: 0.85; }
	100% { opacity: 0; }
}

/* ===========================
   Floating progress tab
   =========================== */

.progress_tab {
	position: fixed;
	right: 0;
	bottom: 200px;
	z-index: 1000;
	font-family: Circe, sans-serif;
}

/* Бейдж — всегда компактный, его размеры не зависят от контента */
.progress_tab_inner {
	position: relative;
	display: inline-flex;
	align-items: baseline;
	background: linear-gradient(130deg, #ff008c, #da15c0);
	color: #fff;
	border-radius: 9px 0 0 9px;
	padding: 8px 7px 8px 12px;
	box-shadow: -4px 4px 16px rgba(0,0,0,.15);
	font-weight: 400;
	line-height: 1;
	white-space: nowrap;
	cursor: default;
}

.progress_tab_badge {
	display: inline-flex;
	align-items: baseline;
	opacity: 1;
	visibility: visible;
	transition: opacity .25s ease, visibility .25s;
}

.progress_tab_num {
	font-size: 14px;
	display: inline-block;
	font-variant-numeric: tabular-nums;
}

.progress_tab_num.flip {
	animation: progressNumFlip .5s ease;
}

.progress_tab_pct {
	font-size: 14px;
	margin-left: 1px;
}

/* Контент — абсолютно позиционирован, не влияет на бейдж */
.progress_tab_content {
	position: absolute;
	top: 50%;
	right: 0;
	margin-right: 0;
	padding: 12px 18px 12px 18px;
	background: linear-gradient(130deg, #ff008c, #da15c0);
	color: #fff;
	border-radius: 9px 0 0 9px;
	box-shadow: -4px 4px 16px rgba(0,0,0,.15);
	white-space: normal;
	width: 250px;
	box-sizing: border-box;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate(20px, -50%);
	transition: opacity .3s ease, transform .35s ease, visibility .3s;
}
/* Hover — скрываем бейдж, показываем контент */
.progress_tab:hover .progress_tab_badge {
	opacity: 0;
	visibility: hidden;
}

.progress_tab:hover .progress_tab_content {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(0, -50%);
}

.progress_tab_title_value {
	font-size: 13px;
}

.progress_tab_title {
	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 6px;
	text-transform: uppercase;
}

.progress_tab_text {
	font-size: 12px;
	line-height: 1.35;
	font-weight: 400;
	opacity: .95;
}

/* Hover — показываем контент */
.progress_tab:hover .progress_tab_content {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(0, -50%);
}

@media screen and (max-width: 640px) {
	.progress_tab {
		bottom: 100px;
	}

	.progress_tab_content {
		width: 250px;
	}
}

/* Engage — режим "catalog ready" */
.engage-ready {
	overflow: hidden;
}

.engage_ready_media {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	z-index: 0;
	pointer-events: none;
}

.engage-ready .engage_close,
.engage-ready .engage_text,
.engage-ready .engage_btn {
	z-index: 2;
}

/* Затемнение снизу для читаемости текста и кнопки */
.engage-ready::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 60%;
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 100%);
	z-index: 1;
	pointer-events: none;
}

.engage-ready .engage_btn {
	background: linear-gradient(130deg, #ff008c, #da15c0);
}

.uploading_progress_status {
	display: none;
}
.brains-core { margin-top:14px; }
.brains-core li { margin-bottom:9px; line-height:1.45; }
.brains-core strong { color:#fff; font-weight:800; }

/* buttons: keep text white on hover (override a:not([class]):hover) + subtle grow */
.btn a:hover, .btn a:not([class]):hover, .btn span { color:#fff; }
.btn, .try_proto_btn { transition: transform .18s ease, opacity .5s ease; }
.btn:hover, .try_proto_btn:hover { transform: scale(1.02); }
.btn-upload:hover { transform: translateX(-5px) scale(1.02); }
@media (prefers-reduced-motion: reduce){ .btn:hover, .try_proto_btn:hover { transform:none; } }
