/*  1. ПЕРЕМЕННЫЕ И СБРОС  */
 :root{
	 --ink-900:#090f1c;
	 --ink-800:#0d1626;
	 --ink-700:#122036;
	 --paper:#f6f4ee;
	 --paper-2:#efeade;
	 --card:#fffdf8;
	 --gold:#c9a24b;
	 --gold-strong:#a8802c;
	 --gold-soft:rgba(201,162,75,.12);
	 --line-dark:rgba(214,183,110,.16);
	 --text:#232a36;
	 --muted:#5c6572;
	 --text-inv:#e9edf5;
	 --muted-inv:#9aa6ba;
	 --radius:14px;
	 --header-h:72px;
	 --font-display:'Playfair Display',Georgia,serif;
	 --font-body:'Manrope',system-ui,-apple-system,sans-serif;
	 --font-mono:'JetBrains Mono',ui-monospace,monospace;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

 html{
	 -webkit-text-size-adjust:100%;
	 scroll-padding-top:calc(var(--header-h) + 18px);
}
 @media (prefers-reduced-motion: no-preference){
	 html{
		scroll-behavior:smooth
	}
}
 body{
	 margin:0;
	 font:400 16px/1.6 var(--font-body);
	 background:var(--paper);
	 color:var(--text);
	 overflow-x:hidden;
	 -webkit-font-smoothing:antialiased;
}
 h1,h2,h3,p,ul,ol,figure{
	margin:0
}
h1:not([class]) {
  text-wrap: balance;
}
 img{
	max-width:100%;
	height:auto
}
 a{
	color:inherit
}
 ::selection{
	background:rgba(201,162,75,.35)
}
 :focus-visible{
	outline:2px solid var(--gold);
	outline-offset:3px;
	border-radius:4px
}
 h2{
	font:600 clamp(26px,3.6vw,42px)/1.2 var(--font-display);
}
 .skip-link{
	 position:absolute;
	left:16px;
	top:-60px;
	z-index:200;
	 background:var(--gold);
	color:#1a1305;
	padding:10px 18px;
	border-radius:8px;
	 font-weight:600;
	text-decoration:none;
	transition:top .3s ease;
}
 .skip-link:focus{
	top:14px
}
 .container{
	width:100%;
	max-width:1180px;
	margin-inline:auto;
	padding-inline:clamp(20px,4vw,40px)
}
 .container-narrow{
	max-width:880px
}
/* 2. БАЗОВЫЕ КОМПОНЕНТЫ */
 .section{
	position:relative;
	padding-block:clamp(64px,9vw,116px)
}
 .section-light{
	background:var(--paper)
}
 .section-alt{
	background:var(--paper-2)
}
 .section-dark{
	background:var(--ink-800);
	color:var(--text-inv)
}
 .eyebrow {
	 display: inline-flex;
	 align-items: center;
	 gap: 12px;
	 font: 500 12px/1 var(--font-mono);
	 letter-spacing: .22em;
	 text-transform: uppercase;
	 color: var(--gold-strong);
	 margin: 0 0 1.5rem;
}
 .eyebrow::before{
	content:"";
	width:34px;
	height:1px;
	background:var(--gold)
}
 .section-dark .eyebrow{
	color:var(--gold)
}
 .eyebrow--live::before{
	display:none
}
 .eyebrow--live .dot{
	 flex:0 0 auto;
	width:8px;
	height:8px;
	border-radius:50%;
	background:var(--gold);
	 animation:dotPulse 2.2s ease-out infinite;
}
 @keyframes dotPulse{
	 0%{
		box-shadow:0 0 0 0 rgba(201,162,75,.55)
	}
	 70%{
		box-shadow:0 0 0 9px rgba(201,162,75,0)
	}
	 100%{
		box-shadow:0 0 0 0 rgba(201,162,75,0)
	}
}
 .section-head{
	max-width:780px;
	margin-bottom:clamp(36px,5vw,60px)
}
 .section-head h2{
	font:600 clamp(26px,3.6vw,42px)/1.2 var(--font-display);
	letter-spacing:-.01em
}
 .section-lead{
	margin-top:18px;
	font-size:clamp(15px,1.6vw,17px);
	line-height:1.7;
	color:var(--muted)
}
 .section-dark .section-lead{
	color:var(--muted-inv)
}
 .btn{
	 display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	 padding:15px 30px;
	border-radius:12px;
	border:1px solid transparent;
	 font:600 15px/1.2 var(--font-body);
	letter-spacing:.01em;
	text-decoration:none;
	 cursor:pointer;
	white-space:nowrap;
	 transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,border-color .25s ease,color .25s ease;
}
 .btn-gold{
	 background:linear-gradient(140deg,#e0bc66,#b98f35);
	color:#1a1305;
	 box-shadow:0 12px 28px rgba(185,143,53,.30);
}
 .btn-gold:hover{
	transform:translateY(-2px);
	box-shadow:0 18px 36px rgba(185,143,53,.40)
}
 .btn-gold:active{
	transform:translateY(0)
}
 .btn-outline{
	border-color:#cfc7b4;
	color:var(--text);
	background:transparent
}
 .btn-outline:hover{
	border-color:var(--gold);
	color:var(--gold-strong);
	background:var(--gold-soft);
	transform:translateY(-2px)
}
 .btn-block{
	width:100%
}
 .btn:disabled{
	opacity:.6;
	cursor:wait;
	transform:none
}
 .btn-link{
	 position:relative;
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:6px 0 9px;
	 font:600 15px var(--font-body);
	color:#dfe5f0;
	text-decoration:none;
}
 .btn-link::after{
	 content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:1.5px;
	background:var(--gold);
	 transform:scaleX(.35);
	transform-origin:left;
	opacity:.55;
	transition:transform .35s ease,opacity .35s ease;
}
 .btn-link:hover::after{
	transform:scaleX(1);
	opacity:1
}
 .btn-link-arrow{
	color:var(--gold);
	transition:transform .3s ease
}
 .btn-link:hover .btn-link-arrow{
	transform:translateY(3px)
}
/* Крупные декоративные номера 01/02/03 */
 .card-num{
	font:600 44px/1 var(--font-display);
	color:var(--gold);
	opacity:.85
}
 @supports ((-webkit-text-stroke:1px black)){
	 .card-num{
		color:transparent;
		-webkit-text-stroke:1.2px var(--gold);
		opacity:1
	}
}
/* Зернистость на тёмных секциях */
 .noise::after{
	 content:"";
	position:absolute;
	inset:0;
	z-index:0;
	pointer-events:none;
	opacity:.045;
	 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}
 .noise > .container{
	position:relative;
	z-index:1
}
/* Появление при скролле (только при включённом JS) */
 .js .reveal{
	 opacity:0;
	transform:translateY(26px);
	 transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1);
	 transition-delay:var(--d,0s);
}
 .js .reveal.in{
	opacity:1;
	transform:none
}
/* 3. ШАПКА И НАВИГАЦИЯ */
 .site-header{
	 position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:100;
	height:var(--header-h);
	 border-bottom:1px solid transparent;
	 transition:background-color .35s ease,border-color .35s ease;
}
 .site-header.is-scrolled{
	 background:rgba(7,12,22,.82);
	 -webkit-backdrop-filter:blur(14px);
	backdrop-filter:blur(14px);
	 border-bottom-color:var(--line-dark);
}
 .header-inner{
	display:flex;
	align-items:center;
	gap:26px;
	height:100%
}
 .brand{
	display:flex;
	flex-direction:column;
	line-height:1;
	text-decoration:none
}
 .brand-name{
	font:400 22px var(--font-display);
	color:#f2ead8
}
 .brand-sub{
	margin-top:5px;
	font:500 9.5px/1 var(--font-mono);
	letter-spacing:.3em;
	text-transform:uppercase;
	color:var(--gold)
}
 .site-nav{
	margin-left:auto
}
 .nav-list{
	display:flex;
	gap:4px;
	list-style:none;
	margin:0;
	padding:0
}
 .nav-list a{
	 position:relative;
	display:block;
	padding:10px 13px;
	 font-size:14px;
	font-weight:500;
	color:#c6cede;
	text-decoration:none;
	transition:color .25s ease;
}
 .nav-list a::after{
	 content:"";
	position:absolute;
	left:13px;
	right:13px;
	bottom:4px;
	height:1.5px;
	background:var(--gold);
	 transform:scaleX(0);
	transform-origin:left;
	transition:transform .3s ease;
}
 .nav-list a:hover,.nav-list a.active{
	color:#f4ecd9
}
 .nav-list a:hover::after,.nav-list a.active::after{
	transform:scaleX(1)
}
 .header-cta{
	padding:12px 22px;
	font-size:14px
}
 .burger{
	 display:none;
	position:relative;
	margin-left:auto;
	width:44px;
	height:44px;
	padding:0;
	 border:1px solid rgba(214,183,110,.3);
	border-radius:11px;
	background:rgba(255,255,255,.03);
	cursor:pointer;
}
 .burger span{
	 position:absolute;
	left:12px;
	right:12px;
	height:2px;
	background:#e8dfc8;
	border-radius:2px;
	 transition:transform .3s ease,opacity .3s ease,top .3s ease;
}
 .burger span:nth-child(1){
	top:15px
}
 .burger span:nth-child(2){
	top:21px
}
 .burger span:nth-child(3){
	top:27px
}
 .burger.is-open span:nth-child(1){
	top:21px;
	transform:rotate(45deg)
}
 .burger.is-open span:nth-child(2){
	opacity:0
}
 .burger.is-open span:nth-child(3){
	top:21px;
	transform:rotate(-45deg)
}
 @media (max-width:1279.98px){
	 .header-cta{
		display:none
	}
}
 @media (max-width:1023.98px){
	 .burger{
		display:block
	}
	 .site-nav{
		 position:fixed;
		top:var(--header-h);
		left:0;
		right:0;
		z-index:95;
		 background:rgba(7,11,20,.97);
		 -webkit-backdrop-filter:blur(12px);
		backdrop-filter:blur(12px);
		 border-bottom:1px solid var(--line-dark);
		 padding:12px 20px 22px;
		margin:0;
		 transform:translateY(-12px);
		opacity:0;
		visibility:hidden;
		 transition:transform .28s ease,opacity .28s ease,visibility .28s;
	}
	 .site-nav.is-open{
		transform:none;
		opacity:1;
		visibility:visible
	}
	 .nav-list{
		flex-direction:column;
		gap:2px
	}
	 .nav-list a{
		padding:13px 8px;
		font-size:16px;
		border-bottom:1px solid rgba(255,255,255,.05)
	}
	 .nav-list a::after{
		display:none
	}
}
/* ============================================================ 4. ПЕРВЫЙ ЭКРАН (Hero) — обновлённая версия ============================================================ */
 .hero{
	 position:relative;
	 overflow:hidden;
	 background:#111a29;
	 padding-top:calc(var(--header-h) + clamp(44px,8vh,88px));
	 padding-bottom:clamp(56px,8vw,100px);
}
 .hero-grid{
	 display:grid;
	 gap:clamp(40px,6vw,72px);
	 align-items:start;
}
 .hero-content{
	 max-width:640px;
}
 .hero-title{
	 margin:20px 0 35px;
	 font:600 clamp(28px,4.2vw,50px)/1.18 var(--font-display);
	 color:#f4f0e4;
	 letter-spacing:-.01em;
}
 .hero-subtitle{
	 max-width:560px;
	 margin-bottom:clamp(28px,4vw,40px);
	 font-size:clamp(15px,1.7vw,18px);
	 line-height:1.7;
	 color:#b8c2d4;
}
/* Преимущества */
 .hero-features{
	 list-style:none;
	 margin:0 0 clamp(32px,4vw,44px);
	 padding:0;
	 display:grid;
	 grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
	 gap:14px 24px;
}
 .hero-feature{
	 display:flex;
	 align-items:flex-start;
	 gap:12px;
	 padding:14px 18px;
	 background:rgba(255,255,255,.04);
	 border:1px solid rgba(201,162,75,.18);
	 border-radius:12px;
	 transition:border-color .25s ease,background-color .25s ease;
}
 .hero-feature:hover{
	 border-color:rgba(201,162,75,.4);
	 background:rgba(201,162,75,.06);
}
 .feature-icon{
	 flex-shrink:0;
	 width:24px;
	 height:24px;
	 display:grid;
	 place-items:center;
	 border-radius:50%;
	 background:rgba(201,162,75,.18);
	 color:var(--gold);
	 font-size:13px;
	 font-weight:700;
	 margin-top:2px;
}
 .feature-content{
	 font-size:15px;
	 line-height:1.55;
	 color:#cfd6e2;
}
 .feature-content strong{
	 color:#f2ead8;
	 font-weight:600;
}
/* CTA кнопки */
 .hero-actions{
	 display:flex;
	 flex-wrap:wrap;
	 align-items:center;
	 gap:20px 32px;
}
 .btn-lg{
	 padding:18px 36px;
	 font-size:16px;
}
/* Иллюстрация в правой колонке первого экрана */
 .hero-visual-svg{
	 display:flex;
	 justify-content:center;
	 align-items:center;
	 padding:clamp(10px,3vw,30px);
}
 .hero-illustration{
	 width:100%;
	 max-width:420px;
	 height:auto;
	 display:block;
	 filter:drop-shadow(0 10px 40px rgba(201,162,75,.12));
	 transition:transform .6s ease;
}
 .hero-illustration:hover{
	 transform:scale(1.02);
}
/* Адаптивность */
 @media (min-width:1024px){
	 .hero-illustration{
		 max-width:460px;
	}
}
 @media (max-width:1023.98px){
	 .hero-visual-svg{
		 order:2;
		 margin-top:20px;
	}
	 .hero-illustration{
		 max-width:340px;
	}
}
 @media (max-width:639.98px){
	 .hero-visual-svg{
		 padding:0;
		 margin-top:24px;
	}
	 .hero-illustration{
		 max-width:280px;
	}
}
/* Уменьшенное движение */
 @media (prefers-reduced-motion: reduce){
	 .hero-illustration{
		 transition:none;
	}
}
/* Адаптивность */
 @media (min-width:1024px){
	 .hero-grid{
		 grid-template-columns:1fr minmax(320px,420px);
		 align-items:center;
	}
	 .hero-content{
		 max-width:100%;
	}
}
 @media (max-width:639.98px){
	 .hero-features{
		 grid-template-columns:1fr;
	}
	 .hero-actions{
		 flex-direction:column;
		 align-items:stretch;
	}
	 .btn-lg{
		 width:100%;
	}
	 .btn-link{
		 justify-content:center;
	}
}
/* ============================================================ 5. ДИАГНОСТИКА (проблема) ============================================================ */
 .problem-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
	gap:22px
}
 .problem-card{
	 position:relative;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	gap:14px;
	 background:var(--card);
	border:1px solid #e6e0d0;
	border-radius:var(--radius);
	 padding:30px 28px 32px;
	 transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
 .problem-card::before{
	 content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	height:3px;
	 background:linear-gradient(90deg,var(--gold),transparent 70%);
	 transform:scaleX(0);
	transform-origin:left;
	transition:transform .45s ease;
}
 .problem-card:hover{
	transform:translateY(-6px);
	box-shadow:0 22px 44px rgba(23,32,54,.10);
	border-color:#dcd2b8
}
 .problem-card:hover::before{
	transform:scaleX(1)
}
 .problem-card h3{
	font:600 clamp(18px,1.9vw,21px)/1.35 var(--font-display);
	color:var(--ink-800)
}
 .problem-card p{
	font-size:15px;
	line-height:1.7;
	color:var(--muted)
}
/* ============================================================ 6. ПОРЯДОК РАБОТЫ (липкая колонка + шаги) ============================================================ */
 .solution-grid{
	display:grid;
	gap:44px
}
 .sticky-box{
	max-width:420px
}
 .steps{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:20px
}
 .step{
	position:relative;
	display:grid;
	grid-template-columns:60px 1fr;
	gap:20px
}
 .step::before{
	 content:"";
	position:absolute;
	left:28px;
	top:58px;
	bottom:-24px;
	width:1px;
	 background:linear-gradient(rgba(201,162,75,.35),rgba(201,162,75,.05));
}
 .step:last-child::before{
	display:none
}
 .step-marker{
	 position:relative;
	z-index:1;
	width:56px;
	height:56px;
	display:grid;
	place-items:center;
	 border:1px solid rgba(201,162,75,.35);
	border-radius:14px;
	 background:rgba(201,162,75,.06);
	 font:600 17px var(--font-mono);
	color:var(--gold);
}
 .step-body{
	 background:var(--ink-700);
	border:1px solid var(--line-dark);
	border-radius:var(--radius);
	 padding:26px 26px 28px;
	 transition:border-color .3s ease,transform .3s ease;
}
 .step:hover .step-body{
	border-color:rgba(201,162,75,.45);
	transform:translateX(4px)
}
 .step-body h3{
	font:600 19px/1.4 var(--font-display);
	color:#f2ead8;
	margin-bottom:10px
}
 .step-body > p{
	font-size:14.5px;
	line-height:1.7;
	color:var(--muted-inv);
	margin-bottom:16px
}
 .step-list{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:9px
}
 .step-list li{
	position:relative;
	padding-left:28px;
	font-size:14px;
	line-height:1.6;
	color:#c3cbd9
}
 .step-list li::before{
	 content:"✓";
	position:absolute;
	left:0;
	top:2px;
	width:19px;
	height:19px;
	display:grid;
	place-items:center;
	 border-radius:50%;
	background:rgba(201,162,75,.14);
	color:var(--gold);
	font-size:11px;
	font-weight:700;
}
 @media (min-width:1080px){
	 .solution-grid{
		grid-template-columns:minmax(320px,400px) 1fr;
		gap:72px;
		align-items:start
	}
	 .sticky-box{
		position:sticky;
		top:calc(var(--header-h) + 36px)
	}
}
 @media (max-width:559.98px){
	 .step{
		grid-template-columns:48px 1fr;
		gap:14px
	}
	 .step-marker{
		width:44px;
		height:44px;
		font-size:14px;
		border-radius:12px
	}
	 .step::before{
		left:22px;
		top:46px
	}
}
/* ============================================================ 7. ТАРИФЫ ============================================================ */
 .pricing-grid{
	display:grid;
	gap:22px;
	align-items:stretch
}
 .price-card{
	 position:relative;
	display:flex;
	flex-direction:column;
	 background:var(--card);
	border:1px solid #e6e0d0;
	border-radius:18px;
	padding:34px 30px;
	 transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
 .price-card:hover{
	transform:translateY(-6px);
	box-shadow:0 24px 48px rgba(23,32,54,.10);
	border-color:#dcd2b8
}
 .price-badge{
	 position:absolute;
	top:-13px;
	left:50%;
	transform:translateX(-50%);
	 background:linear-gradient(140deg,#e0bc66,#b98f35);
	color:#1a1305;
	 font:700 11px/1 var(--font-mono);
	letter-spacing:.14em;
	text-transform:uppercase;
	 padding:9px 16px;
	border-radius:999px;
	white-space:nowrap;
	 box-shadow:0 8px 18px rgba(185,143,53,.35);
}
 .price-name{
	font:600 22px/1.3 var(--font-display);
	color:var(--ink-800)
}
 .price-value{
	margin:14px 0 10px;
	font:600 clamp(30px,3vw,38px)/1 var(--font-display);
	color:var(--ink-800)
}
 .price-value small{
	font:500 14px var(--font-body);
	color:var(--muted)
}
 .price-for{
	 font-size:14px;
	line-height:1.65;
	color:var(--muted);
	 padding-bottom:20px;
	margin-bottom:20px;
	border-bottom:1px dashed #ddd4bf;
}
 .price-includes{
	 font:700 11px/1.4 var(--font-mono);
	letter-spacing:.18em;
	text-transform:uppercase;
	 color:var(--gold-strong);
	margin-bottom:14px;
}
 .price-list{
	list-style:none;
	margin:0 0 22px;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:10px;
	flex:1
}
 .price-list li{
	position:relative;
	padding-left:28px;
	font-size:14px;
	line-height:1.6;
	color:#3d4552
}
 .price-list li::before{
	 content:"✓";
	position:absolute;
	left:0;
	top:2px;
	width:19px;
	height:19px;
	display:grid;
	place-items:center;
	 border-radius:50%;
	background:rgba(201,162,75,.16);
	color:var(--gold-strong);
	font-size:11px;
	font-weight:700;
}
 .price-result{
	 background:var(--gold-soft);
	border:1px solid rgba(201,162,75,.28);
	border-radius:12px;
	 padding:14px 16px;
	font-size:13.5px;
	line-height:1.6;
	color:#4a4230;
	margin-bottom:22px;
}
 .price-result strong{
	color:#7a5f1d
}
/* Выделенный тариф */
 .price-card--featured{
	 background:#122036;
	 box-shadow:0 26px 60px rgba(9,15,28,.35);
}
 .price-card--featured .price-name, .price-card--featured .price-value{
	color:#f2ead8
}
 .price-card--featured .price-value small, .price-card--featured .price-for{
	color:var(--muted-inv)
}
 .price-card--featured .price-for{
	border-bottom-color:rgba(255,255,255,.12)
}
 .price-card--featured .price-includes{
	color:var(--gold)
}
 .price-card--featured .price-list li{
	color:#c3cbd9
}
 .price-card--featured .price-result{
	background:rgba(201,162,75,.10);
	border-color:rgba(201,162,75,.3);
	color:#d8cba6
}
 .price-card--featured .price-result strong{
	color:var(--gold)
}
 @media (min-width:1024px){
	 .pricing-grid{
		grid-template-columns:repeat(3,1fr);
		gap:26px
	}
	 .price-card--featured{
		transform:translateY(-14px)
	}
	 .price-card--featured:hover{
		transform:translateY(-20px)
	}
}
 .honesty{
	 max-width:860px;
	margin:clamp(30px,4vw,46px) auto 0;
	text-align:center;
	 border:1px dashed rgba(183,142,53,.55);
	background:rgba(201,162,75,.08);
	border-radius:14px;
	 padding:20px 26px;
	font-size:14.5px;
	line-height:1.7;
	color:#4a4230;
}
 .honesty strong{
	color:#7a5f1d
}
/* ============================================================ 8. ЭКСПЕРТИЗА И ЭТИКА ============================================================ */
 .trust-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
	gap:22px;
	margin-bottom:clamp(36px,5vw,56px)
}
 .trust-item{
	 display:flex;
	flex-direction:column;
	gap:12px;
	 background:var(--card);
	border:1px solid #e6e0d0;
	border-radius:var(--radius);
	padding:28px;
	 transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
 .trust-item:hover{
	transform:translateY(-5px);
	box-shadow:0 20px 40px rgba(23,32,54,.10);
	border-color:#dcd2b8
}
 .trust-item .card-num{
	font-size:38px
}
 .trust-item h3{
	font:600 19px/1.4 var(--font-display);
	color:var(--ink-800)
}
 .trust-item p{
	font-size:14.5px;
	line-height:1.7;
	color:var(--muted)
}
 .ethics{
	 position:relative;
	overflow:hidden;
	display:grid;
	gap:30px;
	 background:linear-gradient(150deg,#101c31,#0a1120);
	 border:1px solid var(--line-dark);
	border-radius:20px;
	 padding:clamp(30px,4.5vw,54px);
	color:var(--text-inv);
}
 .ethics::after{
	 content:"";
	position:absolute;
	right:-120px;
	top:-120px;
	width:340px;
	height:340px;
	 background:radial-gradient(circle,rgba(201,162,75,.16),transparent 65%);
	pointer-events:none;
}
 .ethics-head .eyebrow{
	margin-bottom:16px
}
 .ethics h3{
	font:600 clamp(22px,2.4vw,28px)/1.3 var(--font-display);
	color:#f2ead8;
	margin-bottom:14px
}
 .ethics-head > p{
	font-size:15px;
	line-height:1.7;
	color:var(--muted-inv)
}
 .ethics-list{
	list-style:none;
	margin:0;
	padding:0;
	display:grid;
	gap:14px
}
 .ethics-list li{
	 position:relative;
	padding:16px 18px 16px 52px;
	 border:1px solid rgba(201,162,75,.22);
	border-radius:12px;
	background:rgba(255,255,255,.02);
	 font-size:14.5px;
	line-height:1.6;
	color:#d5dbe6;
	 transition:border-color .3s ease,transform .3s ease;
}
 .ethics-list li:hover{
	border-color:rgba(201,162,75,.5);
	transform:translateX(4px)
}
 .ethics-list li::before{
	 content:"✓";
	position:absolute;
	left:16px;
	top:16px;
	width:24px;
	height:24px;
	display:grid;
	place-items:center;
	 border-radius:50%;
	background:rgba(201,162,75,.16);
	border:1px solid rgba(201,162,75,.4);
	 color:var(--gold);
	font-size:12px;
	font-weight:700;
}
 @media (min-width:980px){
	 .ethics{
		grid-template-columns:1fr 1.15fr;
		gap:56px;
		align-items:center
	}
}
/* ============================================================ 9. FAQ (аккордеон) ============================================================ */
 .faq-head{
	text-align:center;
	margin-inline:auto
}
 .faq-list{
	border-top:1px solid #ddd5c2
}
 .faq-item{
	border-bottom:1px solid #ddd5c2
}
 .faq-q{
	margin:0;
	font-size:inherit
}
 .faq-q button{
	 display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	width:100%;
	 padding:24px 4px;
	background:none;
	border:0;
	cursor:pointer;
	text-align:left;
	 font:600 clamp(18px,1.8vw,19px)/1.45 var(--font-display);
	color:var(--ink-800);
	 transition:color .25s ease;
}
 .faq-q button:hover{
	color:var(--gold-strong)
}
 .faq-icon{
	 flex:0 0 auto;
	position:relative;
	width:30px;
	height:30px;
	 border:1px solid #cfc5ac;
	border-radius:50%;
	 transition:transform .35s ease,border-color .35s ease,background-color .35s ease;
}
 .faq-icon::before,.faq-icon::after{
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	background:var(--gold-strong)
}
 .faq-icon::before{
	width:12px;
	height:1.6px;
	transform:translate(-50%,-50%)
}
 .faq-icon::after{
	width:1.6px;
	height:12px;
	transform:translate(-50%,-50%)
}
 .faq-item.is-open .faq-icon{
	transform:rotate(45deg);
	border-color:var(--gold);
	background:rgba(201,162,75,.12)
}
 .js .faq-a{
	display:none
}
 .faq-a p{
	margin:0 0 26px;
	padding-right:48px;
	max-width:760px;
	font-size:15px;
	line-height:1.75;
	color:var(--muted)
}
 @media (max-width:559.98px){
	 .faq-a p{
		padding-right:0
	}
}
/* ============================================================ 10. КОНТАКТЫ И ФОРМА ============================================================ */
 .contact-grid{
	display:grid;
	gap:44px;
	align-items:start
}
 #contact h2{
	color:#f2ead8
}
 .contact-list{
	list-style:none;
	margin:clamp(26px,3vw,36px) 0 0;
	padding:0;
	display:grid;
	gap:2px
}
 .contact-list li{
	 display:grid;
	grid-template-columns:96px 1fr;
	gap:16px;
	align-items:baseline;
	 padding:13px 0;
	border-bottom:1px solid rgba(255,255,255,.07);
	font-size:14px;
}
 .contact-label{
	 font:500 11px/1.4 var(--font-mono);
	letter-spacing:.18em;
	text-transform:uppercase;
	 color:rgba(214,196,150,.66);
}
 .contact-list a{
	color:#e9edf5;
	text-decoration:none;
	transition:color .25s ease
}
 .contact-list a:hover{
	color:var(--gold)
}
 .contact-list li > span:last-child{
	color:#e9edf5
}
 .contact-form-wrap{
	 background:var(--paper);
	border-radius:20px;
	color:var(--text);
	 padding:clamp(26px,3.4vw,40px);
	 box-shadow:0 34px 70px rgba(4,8,16,.45);
}
 .form-title{
	font:600 24px/1.3 var(--font-display);
	color:var(--ink-800);
	margin-bottom:24px
}
 .field{
	margin-bottom:10px
}
 .field label{
	display:block;
	margin-bottom:8px;
	font-size:15px;
	font-weight:600;
	letter-spacing:.02em;
	color:#454d59
}
 .field input,.field select{
	 width:100%;
	padding:14px 16px;
	border:1px solid #d9d2c0;
	border-radius:11px;
	background:#fff;
	 font:500 15px var(--font-body);
	color:var(--text);
	 transition:border-color .25s ease,box-shadow .25s ease;
	 -webkit-appearance:none;
	appearance:none;
}
 .field select{
	 padding-right:44px;
	cursor:pointer;
	 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23b78e35' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	 background-repeat:no-repeat;
	background-position:right 16px center;
}
 .field input:focus,.field select:focus{
	outline:none;
	border-color:var(--gold);
	box-shadow:0 0 0 3px rgba(201,162,75,.18)
}
 .field input::placeholder{
	color:#a29a86
}
 .is-invalid{
	border-color:#c4453d !important;
	background:#fff7f6
}
 .field-error{
	display:block;
	min-height:16px;
	margin-top:6px;
	font-size:12px;
	line-height:1.4;
	color:#b3392f
}
 .hp{
	position:absolute;
	left:-9999px;
	width:1px;
	height:1px;
	opacity:0;
	overflow:hidden
}
 .form-note{
	margin:14px 0 0;
	font-size:12px;
	line-height:1.6;
	color:#8b8471
}
 .form-status{
	min-height:18px;
	margin:10px 0 0;
	font-size:13px;
	color:#b3392f
}
 .form-success{
	text-align:center;
	padding:clamp(30px,4vw,46px) 10px
}
 .form-success:focus{
	outline:none
}
 .success-mark{
	 display:grid;
	place-items:center;
	width:66px;
	height:66px;
	margin:0 auto 20px;
	 border-radius:50%;
	background:rgba(201,162,75,.15);
	border:1px solid rgba(201,162,75,.5);
	 color:var(--gold-strong);
	font-size:28px;
}
 .success-title{
	font:600 24px var(--font-display);
	color:var(--ink-800);
	margin-bottom:10px
}
 .form-success p:last-child{
	font-size:15px;
	line-height:1.6;
	color:var(--muted)
}
 @media (min-width:1024px){
	 .contact-grid{
		grid-template-columns:1fr 1fr;
		gap:64px
	}
}
/* ============================================================ 10.1 ЧЕКБОКС СОГЛАСИЯ ============================================================ */
 .field.checkbox-field{
	 margin:4px 0 18px;
}
 .field.checkbox-field label{
	 display:flex;
	 align-items:flex-start;
	 gap:12px;
	 margin:0;
	 font-size:13.5px;
	 font-weight:500;
	 line-height:1.55;
	 color:var(--muted);
	 cursor:pointer;
	 -webkit-user-select:none;
	 user-select:none;
}
/* Рисуем сам нативный чекбокс — без скрытия и лишних span */
 .field.checkbox-field input[type="checkbox"]{
	 flex:0 0 auto;
	 width:20px;
	 height:20px;
	 margin:2px 0 0;
	 padding:0;
	 border:1.5px solid #cfc5ac;
	 border-radius:6px;
	 background-color:#fff;
	 background-repeat:no-repeat;
	 background-position:center;
	 -webkit-appearance:none;
	 appearance:none;
	 cursor:pointer;
	 transition:border-color .25s ease, background-color .25s ease, box-shadow .25s ease;
}
 .field.checkbox-field input[type="checkbox"]:hover{
	 border-color:var(--gold);
}
 .field.checkbox-field input[type="checkbox"]:focus-visible{
	 outline:2px solid var(--gold);
	 outline-offset:2px;
}
/* Отмечен: золотой фон + галочка */
 .field.checkbox-field input[type="checkbox"]:checked{
	 border-color:var(--gold-strong);
	 background-color:var(--gold);
	 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' fill='none' stroke='%231a1305' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
/* Состояние ошибки валидации */
 .field.checkbox-field input[type="checkbox"].is-invalid, .field.checkbox-field.is-invalid input[type="checkbox"]{
	 border-color:#c4453d;
	 background-color:#fff7f6;
}
/* Ссылка на политику */
 .field.checkbox-field label a{
	 color:var(--gold-strong);
	 text-decoration:underline;
	 text-decoration-color:rgba(168,128,44,.35);
	 text-decoration-thickness:1px;
	 text-underline-offset:2px;
	 transition:color .25s ease, text-decoration-color .25s ease;
}
 .field.checkbox-field label a:hover{
	 color:var(--gold);
	 text-decoration-color:var(--gold);
}
/* ============================================================ 11. ПОДВАЛ ============================================================ */
 .site-footer{
	background:#070b14;
	border-top:1px solid rgba(255,255,255,.06);
	padding:26px 0
}
 .footer-inner{
	 display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:10px 28px;
	 font-size:13px;
	color:#7d8798;
}

/* ============================================================
   МОБИЛЬНАЯ ТИПОГРАФИКА — читаемость на смартфонах
   ============================================================ */
@media (max-width: 639.98px) {
  body {
    font-size: 17px;
  }

  h2,
  .section-head h2 {
    font-size: clamp(30px, 7vw, 34px);
  }

  .hero-title {
    font-size: clamp(32px, 7.6vw, 40px);
  }

  .section-lead,
  .hero-subtitle,
  .feature-content {
    font-size: clamp(16px, 4.4vw, 18px);
  }
  
  .problem-grid h3 {
	font-size: clamp(22px, 6vw, 24px) !important;
  }

  .trust-grid h3 {
	font-size: clamp(22px, 6vw, 24px) !important;
  }
  
  .ethics-head h3 {
	font-size: clamp(22px, 6vw, 24px) !important;
  }
  
  .step-body h3 {
	font-size: clamp(22px, 6vw, 24px) !important;
  }

  #solution .container,
  #solution .solution-grid,
  #solution .steps,
  #solution .step,
  #solution .step-body {
    min-width: 0;
  }

  /* Переводим шаг в одну колонку */
  #solution .step {
    display: block;
  }

  /* Убираем номер шага */
  #solution .step-marker {
    display: none;
  }

  /* Убираем вертикальную линию между шагами */
  #solution .step::before {
    display: none;
  }

  /* Карточка шага на всю ширину */
  #solution .step-body {
    width: 100%;
    max-width: 100%;
    padding: 22px 20px 24px;
    overflow-wrap: break-word;
  }

  /* Отключаем сдвиг карточки при наведении, чтобы не провоцировать overflow */
  #solution .step:hover .step-body {
    transform: none;
  }

  /* Дополнительная страховка от длинных слов и переносов */
  #solution .step-body h3,
  #solution .step-body > p,
  #solution .step-list li {
    overflow-wrap: break-word;
  }

  /* Основной мелкий текст поднимаем до комфортных 16px */
  .problem-card p,
  .problem-card h3,
  .trust-item h3,
  .trust-item p,
  .step-body h3,
  .step-body > p,
  .step-list li,
  .price-name,
  .price-for,
  .price-list li,
  .price-result,
  .ethics h3,
  .ethics-head > p,
  .ethics-list li,
  .faq-a p,
  .contact-list li,
  .field label,
  .field input,
  .field select,
  .field.checkbox-field label {
    font-size: 16px;
  }

  /* Служебные мелкие надписи */
  .eyebrow        { font-size: 12.5px; letter-spacing: .18em; }
  .price-badge,
  .price-includes { font-size: 12px; }
  .price-value    { font-size: clamp(30px, 8vw, 36px); }
  .card-num       { font-size: 42px; }
  .contact-label  { font-size: 11.5px; }
  .footer-inner   { font-size: 13.5px; }
}


/* ============================================================ 12. УМЕНЬШЕННОЕ ДВИЖЕНИЕ (доступность) ============================================================ */
 @media (prefers-reduced-motion: reduce){
	 html{
		scroll-behavior:auto
	}
*,
*::before,
*::after {
  animation-duration: .01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: .01ms !important;
}
	 .js .reveal,.js .bubble{
		opacity:1 !important;
		transform:none !important
	}
	 .js .caret{
		animation:none
	}
}
