@import 'fonts.css?v.3';
@import 'reset.css';
@import 'whatsapp.css';

:root {

	--bg: linear-gradient(90deg, #f4f9fa 0%, #fff 100%);
	--text: #222;
	--brand-navy:#0f1f33;
	--brand-navy-2:#162840;
	--brand-gold:#e2c15a;
	--brand-gold-deep:#c8a446;
	--brand-blue:#2f6df6;
	
	--max: 1060px; --pad: 16px; --brand:#111; --muted:#666;

	--font-sans: 'Cereal VF', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
	--leading: 1.5;
	--base-size: 16px;

	--container: 1152px;
	--radius: 12px;
	--gap: 16px;
	--shadow-1: 0 1px 2px rgba(0,0,0,0.04), 0 6px 24px rgba(0,0,0,0.06);
	
	--ease-spring: cubic-bezier(.2,.8,.2,1);

}


body {
	background: #fff;
}


a{
	position:relative;
	color:inherit;
	text-decoration:none;
	outline-offset:2px;
	transition:color .2s ease
}
a::after{
	content:"";
	position:absolute;
	left:0;
	bottom:-2px;
	width:100%;
	height:1px;
	background:rgba(47,109,246,.28);
	transform:scaleX(0);
	transform-origin:left;
	opacity:.95;
	transition:transform .25s ease,opacity .25s ease,background-color .25s ease
}
a:hover,a:focus-visible{color:#2f6df6}
a:hover::after,
a:focus-visible::after{transform:scaleX(1)}
a.none{color:inherit}
a.none::after{content:none}



h1,h2,h3,h4,h5,h6{
	color: rgb(38, 38, 44);
}



/* === Buttons: pro look & motion === */
.btn{
	--btn-fg: #0f1f33;
	--btn-bg: #e9f0f2;
	--btn-bd: transparent;
	--btn-radius: 14px;
	--btn-shadow: 0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.06);
	--btn-shadow-hover: 0 6px 22px rgba(0,0,0,.10), 0 2px 8px rgba(0,0,0,.06);
	--btn-focus: rgba(47,109,246,.30);
	--acc: var(--brand-blue, #2f6df6);
	--acc-deep: #173cc0;

	display:inline-flex; align-items:center; justify-content:center;
	gap:10px;
	padding:.9rem 1.2rem;
	min-height:44px;
	border:1px solid var(--btn-bd);
	border-radius:var(--btn-radius);
	background:var(--btn-bg);
	color:var(--btn-fg);
	line-height:1; letter-spacing:.01em;
	text-decoration:none;
	cursor:pointer;
	transition:
		background .18s cubic-bezier(.2,.8,.2,1),
		color .18s cubic-bezier(.2,.8,.2,1),
		border-color .18s cubic-bezier(.2,.8,.2,1),
		box-shadow .22s cubic-bezier(.2,.8,.2,1),
		transform .14s cubic-bezier(.2,.8,.2,1),
		filter .18s cubic-bezier(.2,.8,.2,1);
	outline:3px solid transparent;
	outline-offset:2px;
	-webkit-tap-highlight-color:transparent;
	box-shadow: var(--btn-shadow);
}
.btn:hover{ transform:translateY(-1px); box-shadow:var(--btn-shadow-hover); }
.btn:focus-visible{ outline-color:var(--btn-focus); }
.btn:active{ transform:translateY(0) scale(.98); filter:saturate(1.02); }
.btn:disabled, .btn[aria-disabled="true"]{ opacity:.6; pointer-events:none; }

.btn.primary,
.btn.blue{
	--btn-fg:#fff; --btn-bd:0;
	background:
		radial-gradient(140% 140% at 20% -10%, rgba(255,255,255,.55) 0%, rgba(255,255,255,0) 46%),
		radial-gradient(90% 120% at 85% 120%, rgba(23,60,192,.38) 0%, rgba(23,60,192,0) 62%),
		linear-gradient(135deg, var(--acc) 0%, var(--acc-deep) 76%);
	color:var(--btn-fg);
	box-shadow:
		0 16px 36px rgba(23,60,192,.30),
		0 3px 10px rgba(0,0,0,.10),
		inset 0 1px 0 rgba(255,255,255,.45),
		inset 0 -8px 18px rgba(0,0,0,.12);
}
.btn.primary:hover,
.btn.blue:hover{
	background:
		radial-gradient(140% 140% at 18% -12%, rgba(255,255,255,.65) 0%, rgba(255,255,255,0) 48%),
		radial-gradient(90% 120% at 86% 122%, rgba(23,60,192,.46) 0%, rgba(23,60,192,0) 64%),
		linear-gradient(135deg, color-mix(in oklab, var(--acc) 88%, white 12%) 0%, var(--acc-deep) 76%);
	box-shadow:
		0 22px 44px rgba(23,60,192,.36),
		0 6px 14px rgba(0,0,0,.12),
		inset 0 1px 0 rgba(255,255,255,.55),
		inset 0 -8px 20px rgba(0,0,0,.14);
}
.btn.primary:active,
.btn.blue:active{ transform:translateY(0) scale(.98); }

/* Outline — аккуратный контур с заливкой при hover */
.btn.outline{
	color: var(--acc);
	--btn-fg: var(--brand-navy, #0f1f33);
	--btn-bd: rgba(17,24,39,.18);
	--btn-shadow: 0 1px 2px rgba(0,0,0,.04);
	--btn-shadow-hover: 0 4px 16px rgba(0,0,0,.08);
	background:#fff;
}
.btn.outline:hover{
	border-color: color-mix(in oklab, var(--acc) 45%, #cfd6dc 55%);
	background: color-mix(in oklab, #fff 88%, var(--acc) 12%);
	color: var(--brand-navy, #0f1f33);
}

/* Ghost — прозрачная с мягким наведение */
.btn.ghost{
	--btn-bd: transparent;
	--btn-shadow: none; --btn-shadow-hover: none;
	background: transparent; color: var(--acc);
}
.btn.ghost:hover{ background: color-mix(in oklab, transparent 85%, var(--acc) 15%); }

/* Light — для серых панелей */
.btn.light{
	--btn-fg:#0f1f33; --btn-bd:0; --btn-shadow:0 1px 2px rgba(0,0,0,.04);
	background:#e9f0f2;
}
.btn.light:hover{ background:#dfe7ea; }

/* Размеры */
.btn.sm{ padding:.6rem .85rem; min-height:38px; border-radius:12px; font-size:.92rem; }
.btn.lg{ padding:1.1rem 1.4rem; min-height:50px; border-radius:16px; font-size:1.05rem; }

/* Иконки и спиннер */
.btn .icon{ line-height:0; font-size:1.1em; }
.btn .icon + span, .btn span + .icon{ margin-left:8px; }

.btn.extra::before {
	
}

.btn.is-loading{ pointer-events:none; }
.btn.is-loading .label{ opacity:0; }
.btn.is-loading::after{
	content:"";
	position:absolute; inset:0; margin:auto;
	width:1.1em; height:1.1em; border-radius:50%;
	border:2px solid rgba(255,255,255,.45);
	border-top-color:#fff;
	animation:btnSpin .9s linear infinite;
}
@keyframes btnSpin{ to{ transform:rotate(1turn); } }

/* Respect reduce-motion */
@media (prefers-reduced-motion: reduce){
	.btn, .btn:hover, .btn:active{ transition:none; transform:none; }
	.btn.is-loading::after{ animation:none; }
}







h5 {
	margin:0 0 8px;
}



footer {
	padding: 40px 0 28px;
}

footer > div,
footer section {
	padding: 10px 0;
}

footer .grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(220px,1fr));
	column-gap:56px;
	row-gap:28px;
	justify-content:start;
	align-items:start
}
@media (max-width:960px){
	footer .grid{grid-template-columns:repeat(2,minmax(220px,1fr))}
}
@media (max-width:560px){
	footer .grid{grid-template-columns:1fr}
}

footer section ul {
	margin: 0;
	line-height: 1.9rem;
	font-size: 0.85rem;
}

footer section .contacts {
	margin: 0;
	font-size: 0.85rem;
}

footer section img {
	margin-bottom: 0.8rem;
	height: 5.65rem;
}

footer section .cotizar {
	margin: 14px 0 0;
}

footer .border {
	padding:12px 0 0;
	border-top:1px solid #eee;
}

footer small {
	font-size: 0.85rem;
}

footer section a,
footer small {
	color: #818698;
}





#soluciones { font-size: .95rem; }
.cards{
	gap:25px;
	grid-template-columns: repeat(auto-fit, minmax(252px,1fr));
	display:grid;
}
.card{
	border:0;
	border-radius: var(--radius);
	background:#fff;
	box-shadow: var(--shadow-1);
	display:flex;
	flex-direction:column;
	padding:14px;
}
#soluciones .card > div:last-of-type{ margin-top:auto; }
#soluciones .card > div:last-of-type .btn{ margin-top:25px; }
.card h3{ margin:2px 0 2px; font-size:1.05rem; }
.card .eyebrow{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:4px 10px;
	border-radius:999px;
	font-size:.72rem;
	font-weight:700;
	letter-spacing:.02em;
	text-transform:none;
	color:#fff;
	background:#9aa1ac;
}
#soluciones{font-size:.95rem;}
#soluciones .card{position:relative;}
#soluciones .card::before{
	content:"";
	display:block;
	aspect-ratio:2/1;
	background:var(--card-img,linear-gradient(135deg,rgba(47,109,246,.22),rgba(47,109,246,.55)));
	background-size:cover;
	background-position:center;
	border-radius:var(--radius) var(--radius) 0 0;
	margin:-14px -14px 10px;
}
#personas + .cards .card{--card-img:linear-gradient(135deg,var(--brand-blue),#173cc0);}
#empresas + .cards .card{--card-img:linear-gradient(135deg,var(--brand-gold),var(--brand-gold-deep));}
#soluciones .card .eyebrow{
	position:absolute;
	top:12px;
	left:14px;
	padding:0;
	background:none;
	color:#fff;
	font-weight:800;
	font-size:.82rem;
	letter-spacing:.02em;
	text-transform:none;
	text-shadow:0 1px 2px rgba(0,0,0,.4),0 6px 18px rgba(0,0,0,.35);
}
#personas + .cards .card .eyebrow{color:#fff;}
#empresas + .cards .card .eyebrow{color:#fff;}
.list{
	list-style:none;
	padding:0;
	margin:10px 0 0;
	display:grid;
	gap:4px;
}
.list li{
	position:relative;
	padding-left:21px;
}
.list li::before{
	content:"";
	position:absolute;
	left:0; top:.3em;
	width:14px; height:14px;
	background: currentColor;
	color:#2f6df6;
	-webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="%23000" d="M7.7 14.3 3.4 10l1.4-1.4 2.9 2.9 7-7 1.4 1.4z"/></svg>') no-repeat center/contain;
					mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="%23000" d="M7.7 14.3 3.4 10l1.4-1.4 2.9 2.9 7-7 1.4 1.4z"/></svg>') no-repeat center/contain;
	opacity:.9;
}
.featured h3{ margin-top:20px; }
#soluciones .card{transition:transform .2s ease, box-shadow .25s ease; will-change:transform;}
@media (hover:hover){
	#soluciones .card:hover{transform:translateY(-2px); box-shadow:0 10px 28px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.06);}
}
#soluciones .card:focus-within{transform:translateY(-2px); box-shadow:0 10px 28px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.06);}



#soluciones { --tabs-bg:#e9f0f2; --tab-radius:12px; }
#soluciones .org { margin-top:40px; }
#soluciones .org-head {
	display:flex;
	justify-content:center;
	gap:0px;
	flex-wrap:wrap;
	position:relative;
	z-index:2;
}
#soluciones .org-head [role="tab"]{
	-webkit-tap-highlight-color:transparent;
	appearance:none;
	border:0; outline:0; cursor:pointer;
	margin: 0px -8px 0px 0px;
	padding: 20px 84px;
	border-radius:var(--tab-radius) var(--tab-radius) 0 0;
	background:#fff;
	color:rgb(88, 88, 88);
	font-size: 16px;
	line-height: 26px;
	font-weight:700;
	box-shadow: rgba(87, 79, 118, 0.2) 0px 3px 13px;
	transition:filter .2s ease, transform .18s ease, box-shadow .22s ease, background .2s ease;
}
#soluciones .org-head [role="tab"]:hover{ transform:translateY(-1px); }
#soluciones .org-head [role="tab"][aria-selected="true"]{
	position: relative;
	background:var(--tabs-bg);
	color:#2f6df6;
	padding-top: 27px;
	margin-top: -7px;
	box-shadow: none;
	z-index:5;
}
#soluciones .org-panels{
	position: relative;
	margin-top:-3px; padding:45px 16px;
	background:var(--tabs-bg);
	z-index: 5;
}
#soluciones .org-panel[hidden]{ display:none; }
#soluciones .org-title{
	text-align:center; margin-bottom:8px;
}
#soluciones .org-title span{
	color: #2f6df6; display:inline-block; border-bottom:2px solid #2f6df6; padding-bottom:2px;
    font-weight: 500;
    font-size: 2rem;
    letter-spacing: -0.05rem;
}



#soluciones .org-head [role="tab"]{
	transition:
		background .14s var(--ease-spring),
		color .14s var(--ease-spring),
		margin-top .14s var(--ease-spring),
		padding-top .14s var(--ease-spring),
		transform .12s var(--ease-spring),
		box-shadow .16s var(--ease-spring),
		filter .12s var(--ease-spring);
}
#soluciones .org-head [role="tab"]:active{ transform:translateY(0); }

#soluciones .org-panels [role="tabpanel"]:not([hidden]){
	animation: panelIn .22s var(--ease-spring) both;
}
@keyframes panelIn{
	from{ opacity:0; transform:translateY(6px); }
	to	{ opacity:1; transform:translateY(0); }
}

#soluciones .org-panels .cards > .card{
	opacity:0; transform:translateY(10px);
	animation: cardIn .32s var(--ease-spring) both;
}
#soluciones .org-panels .cards > .card:nth-child(1){ animation-delay:.03s; }
#soluciones .org-panels .cards > .card:nth-child(2){ animation-delay:.06s; }
#soluciones .org-panels .cards > .card:nth-child(3){ animation-delay:.09s; }
#soluciones .org-panels .cards > .card:nth-child(4){ animation-delay:.12s; }
#soluciones .org-panels .cards > .card:nth-child(5){ animation-delay:.15s; }
#soluciones .org-panels .cards > .card:nth-child(6){ animation-delay:.18s; }
#soluciones .org-panels .cards > .card:nth-child(7){ animation-delay:.21s; }
#soluciones .org-panels .cards > .card:nth-child(8){ animation-delay:.24s; }
@keyframes cardIn{
	from{ opacity:0; transform:translateY(10px) scale(.996); }
	to	{ opacity:1; transform:translateY(0) scale(1); }
}

#soluciones .card{ transition: transform .14s var(--ease-spring), box-shadow .18s var(--ease-spring); }
@media (hover:hover){
	#soluciones .card:hover{ transform:translateY(-2px); box-shadow:0 10px 28px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.06); }
}
#soluciones .card:focus-within{ transform:translateY(-2px); box-shadow:0 10px 28px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.06); }

@media (prefers-reduced-motion: reduce){
	#soluciones .org-head [role="tab"],
	#soluciones .card{ transition:none; }
	#soluciones .org-panels [role="tabpanel"]:not([hidden]),
	#soluciones .org-panels .cards > .card{ animation:none; opacity:1; transform:none; }
}



.faq-split{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap:0px;
	align-items:start;
	padding:60px 0;
}

@media(max-width:860px){
	.faq-split{grid-template-columns:1fr;gap:20px;}
}
.faq-left {
	padding-right:60px;
}
.faq-right {
	padding-left: 60px;
	border-left: 1px solid rgb(238, 238, 238);
}

.faq-left p{
	margin:12px 0 10px;
	line-height:1.5;
	color:rgb(105, 105, 105);
}
.faq-right p {
	color: rgb(105, 105, 105);
	padding-right: 2.5rem;
}
.faq-right details{
	border-bottom:1px solid #eee;
	padding:20px 0;
}
.faq-right details:last-of-type{
	border:0;
}
.faq-right details summary{
	list-style:none;
	cursor:pointer;
	font-weight:400;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.faq-right details summary::marker{display:none;}
.faq-right details summary::after{
	content:"+";
	font-weight:100;
	color:#2f6df6;
	font-size: 1.3rem;
	transition:transform .2s;
}
.faq-right details[open] summary::after{content:"–";}
.faq-right details div{margin-top:8px;color:var(--muted);}


section.white {
	background: #fff;
}




.contacto{font-size:.95rem;}
.contacto form{
	background:#fff;
	border:1px solid #eee;
	border-radius:20px;
	box-shadow:var(--shadow-1);
	padding:22px;
	display:grid;
	grid-template-columns:repeat(12,minmax(0,1fr));
	gap:16px;
	align-items:start;
}
.contacto form .field{margin:0;grid-column:span 4;}
.contacto form .field:has(textarea),
.contacto form .field:has(input[type="checkbox"]){grid-column:1/-1;}
.contacto form>button{grid-column:1/-1;justify-self:start;margin-top:4px;}
.contacto [data-success-msg]{grid-column:1/-1;margin-top:4px;}

.contacto label{font-weight:600;margin-bottom:6px;color:var(--brand-navy);}
.contacto input,
.contacto select,
.contacto textarea{
	width:100%;
	padding:12px 12px;
	border:1px solid #e5e7eb;
	border-radius:12px;
	background:#fff;
	transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
	box-shadow:inset 0 1px 0 rgba(0,0,0,.02);
}
.contacto textarea{min-height:120px;resize:vertical}
.contacto input:focus,
.contacto select:focus,
.contacto textarea:focus{
	outline:0;
	border-color:rgba(47,109,246,.7);
	box-shadow:0 0 0 3px rgba(47,109,246,.14);
	background:#fff;
}
.contacto input[type="checkbox"]{width:auto;accent-color:#2f6df6}
.contacto .btn.primary{padding:.875rem 1.25rem;border-radius:12px}

@media (max-width:960px){
	.contacto form .field{grid-column:span 6;}
}
@media (max-width:560px){
	.contacto form{padding:18px;}
	.contacto form .field{grid-column:1/-1;}
}




.sticky-whatsapp a {
	color: #fff;
}










.nav {
  --nav-primary: #0a2d82;
  --nav-accent: #D80C31;
  --nav-muted: #f2f2f2;
  --nav-hover: rgba(219,228,254);
  --nav-hover--accent: rgba(255,227,233);

  width: 100%;
  min-height: 4.625rem;
  padding: 0.9375rem 9rem;
  border-bottom: 1px solid var(--nav-muted);
  box-sizing: border-box;
  font-size: 0.85rem;
  font-weight: 700;
  color: #0a2d82;
  background: #fff;
}
.nav * { box-sizing: border-box; }

.nav__inner {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.nav__col { display: flex; align-items: center; }
.nav__col--logo   {
	flex: 0 0 auto;
	position: relative;
	top: -0.9375rem;
	padding: 0;
	width: 9.55rem;
}
.nav__logo {
	position: absolute;
	    padding: 4rem 2rem 0.9rem;
	    border-radius: 0 0 8px 8px;
	    width: 9rem;
	    height: auto;
	    background: #0a2d82;
}
.nav__col--menu   { flex: 1 1 0; justify-content: flex-start; }
.nav__col--actions{ flex: 1 1 0; justify-content: flex-end; gap: .25rem; }

.nav__logo img {
	display: block;
	    height: auto;
	    width: 100%;
}

.nav__pill {
  display: inline-flex;
  align-items: center;
  gap: 0rem;
  background: #fff;
  border: 0.125rem solid var(--nav-muted);
  border-radius: 5rem;
  padding: 0.3125rem;
}
.nav__pill-item { position: relative; }
.nav__pill-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .75rem .85rem;
  border-radius: 3rem;
  color: var(--nav-primary);
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
}
.nav__pill-link .micon-arrow {
	margin-right: .15rem;
}

.nav__pill-link.active {
	margin-left: .75rem;
	color: #fff;
	background: var(--nav-primary);
}
.nav__pill-link:hover,
.nav__pill-link:focus-visible {
	color: var(--nav-primary);
	  background: var(--nav-hover);
	  outline: none;
}

.nav__pill-drop .nav__dropdown {
  position: absolute;
  top: calc(100% - 0.1rem);
  left: 0;
  display: none;
  min-width: 16rem;
  background: rgba(255,255,255,.8);
  border-radius: .25rem;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  padding: .25rem .2rem;
  backdrop-filter: blur(1rem) saturate(1.1);
  -webkit-backdrop-filter: blur(1rem) saturate(1.1);
  z-index: 50;
}
.nav__pill-drop:hover .nav__dropdown,
.nav__pill-drop:focus-within .nav__dropdown { display: block; }
.nav__dropdown a {
  display: block;
  padding: .5rem .75rem;
  border-radius: .25rem;
  text-decoration: none;
}
.nav__dropdown a:hover,
.nav__dropdown a:focus-visible { color: var(--nav-accent); background: #fff; outline: none; }

.nav__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: calc(.675rem - 2px) .6rem;
  border-radius: .25rem;
  text-decoration: none;
  color: var(--nav-primary);
}
.nav__link span:first-of-type {
	margin-right: 0.25rem;
}
.nav__link:hover,
.nav__link:focus-visible { background: var(--nav-hover); outline: none; }

.nav__btn {
  display: inline-flex;
  margin-left: 1rem;
  align-items: center;
  justify-content: center;
  gap: .25rem;
  text-decoration: none;
  box-sizing: border-box;
  padding: calc(.6rem - 2px) 1rem;
  border-radius: 0.25rem;
  color: var(--nav-primary);
}
.nav__btn--outline {
  background: transparent;
  border: 0.125rem solid var(--nav-primary);
}
.nav__btn--outline:hover,
.nav__btn--outline:focus-visible {
  background: var(--nav-hover--accent);
  outline: none;
}
.nav__icon {
  fill: currentColor; flex: 0 0 auto;
}

.nav__btn.accent {
	color: var(--nav-accent);
	border-color: var(--nav-accent);
}

@media (max-width: 1024px) {
  .nav { padding-left: 2rem; padding-right: 2rem; }
}
@media (max-width: 840px) {
  .nav__inner { flex-wrap: wrap; row-gap: .75rem; }
  .nav__col--menu, .nav__col--actions { flex: 1 1 100%; }
  .nav__col--actions { justify-content: flex-start; }
}
@media (max-width: 520px) {
  .nav { padding-left: 1rem; padding-right: 1rem; }
  .nav__pill { min-height: auto; }
  .nav__pill-link { padding: .6rem .75rem; }
  .nav__logo img { height: 2.5rem; }
}



a.full {
	position: static;
}
a.full::before {
	position: absolute;
	content: "";
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.underline {
	font-weight: inherit;
	font-style: normal;
	background: linear-gradient(0deg, #D3D62E 43%, transparent 40%);
	padding: 0 3px 0 2px;
}
.underline.blue {
	background: linear-gradient(0deg, #0f1f33 43%, transparent 40%);
}
.underline.red {
	background: linear-gradient(0deg, #D80C31 43%, transparent 40%);
}



.c-btn {
	position: relative;
	top: 1px;
	padding: .7rem;
	width: 1rem;
	height: 1rem;
	border-radius: 1rem;
	background: #fff;
	color: #0a2d82;
	line-height: 1rem;
	text-align: center;
	
	display: inline-flex;
	align-items: center;
	justify-content: center;
	will-change: transform;
}

@keyframes wiggle-x{
  0%,100% { transform: translateX(0); }
  30%     { transform: translateX(4px); }
  60%     { transform: translateX(-4px); }
}

h1:has(> a:hover) .c-btn{
  animation: wiggle-x .9s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce){
  h1:has(> a:hover) .c-btn{ animation: none; }
}



.herooo {
  --herooo-sky: #0a2d82;
  --herooo-muted: #f2f2f2;
  --herooo-xpad: 9rem;
  --herooo-top: 2.4rem;
  --herooo-card-right: 2.5rem;
  --herooo-card-w: 50%;
  --herooo-step: 3.75rem;
  --herooo-radius: .25rem;
  --herooo-ratio: 16/6;
  margin: var(--herooo-top) 0 2rem;
  padding-left: var(--herooo-xpad);
  padding-right: var(--herooo-xpad);
  padding-bottom: var(--herooo-step);
  position: relative;
  bacgorund: #fff;
}

.herooo h1 {
	padding: 1rem;
	color: #fff;
	    font-size: 2.5rem;
	    font-weight: 600;
	    letter-spacing: -0.03rem;
	    line-height: 1.15;
}
.herooo h1 span {
	display: flex;
	align-items: center;
	gap: .5rem;
	width: 100%;
	font-size: 1rem;
	    font-weight: 400;
	    padding: .5rem 0;
	    letter-spacing: normal;
}
.herooo h1 span i:first-of-type {
	flex: 1 1 auto;
	min-width: 0;
	opacity: .8;
}
.herooo h1 span i:last-of-type {
	flex: 0 0 auto;
	margin-left: auto;
	font-style: normal;
}

.herooo h2 {
	color: #fff;
}

.herooo__media {
  position: relative;
  width: 100%;
  /* aspect-ratio: var(--herooo-ratio); */
  height: 65vh;
  min-height: 18rem;
  background: transparent;
}

.herooo__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
  opacity: 0;
  transition: opacity .4s ease;
  will-change: opacity;
  pointer-events: none;
}
.herooo__img.is-active {
	opacity: 1;
}

.herooo__card {
  position: absolute;
  right: var(--herooo-card-right);
  bottom: -60px;
  width: var(--herooo-card-w);
  padding: 1.25rem;
  background: rgba(10, 45, 130,.8);
  backdrop-filter: blur(0.2rem) saturate(0.2);
  /*var(--herooo-sky);*/
  color: #fff;
  border-radius: var(--herooo-radius);
  display: flex;
  flex-direction: column;
  gap: .5rem;
  box-shadow:
      0 10px 24px rgba(0,0,0,.25),
      0 30px 60px -12px rgba(0,0,0,.35);
}
.herooo__card.icons {
	padding: 1.5rem;
	border-radius: 0 0 8px 8px;
	z-index: 5;
}
.herooo__card .muted { color: rgba(255,255,255,.85); }
.herooo__actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.herooo__actions .btn.primary {
  background: #fff;
  color: var(--herooo-sky);
  border-radius: .6rem;
  padding: .75rem 1rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* адаптивы */
@media (max-width: 1200px) {
  .herooo { --herooo-xpad: 5rem; }
  .herooo__card { width: calc(55% - 5rem); }
}
@media (max-width: 960px) {
  .herooo { --herooo-xpad: 2rem; }
  .herooo__card {
    right: 1rem;
    width: min(32rem, calc(100% - 2rem));
  }
}
@media (max-width: 600px) {
  .herooo { --herooo-xpad: 1rem; }
  .herooo__media {
	  /*aspect-ratio: 16/9; min-height: 14rem;*/
	  height: 65vh; min-height: 14rem;
	  @supports (height: 1dvh) {
	  	 .herooo__media { height: 65dvh; }
	  }
  }
  .herooo__card { width: calc(100% - 2rem); right: 1rem; }
}

.horg {
	
}
.horg-head {
  display: inline-flex;
  gap: 0rem;
  position: absolute;
      top: -3.05rem;
      left: 0;
      right: 0;
}
.horg-tab{
  appearance: none; cursor: pointer; border: 0;
  padding: .85rem 1.25rem;
  border-radius: 8px 8px 0 0;
  font-weight: 700;
  background: #eef0f4;
  color: #0a2d82;
  transition: filter .18s ease, background .18s ease, color .18s ease, transform .12s ease;
  backdrop-filter: blur(0.2rem) saturate(0.2);
  width: 50%;
  font-size: 0.9rem;
}

.horg-tab[aria-selected="true"]{
  background: rgba(10, 45, 130,.8);
  color: #fff;
}

.horg-panels { margin-top: 0; }
.hgrid{
  display: grid; gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 960px){ .hgrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px){ .hgrid{ grid-template-columns: 1fr; } }

/* Карточка-линк */
.hcard{
  position: relative;
  display: grid; align-content: start; gap: .45rem;
  min-height: 8rem;
  padding: .9rem;
  border-radius: .25rem;
  background: #fff;
  color: #0a2d82;
  box-shadow: 0 2px 10px rgba(0,0,0,.08);
  text-decoration: none;
  overflow: hidden;
  transform: translateZ(0);
  transition: box-shadow .22s var(--ease-spring, cubic-bezier(.2,.8,.2,1));
}
.hcard__icon{
	font-size: 2.1rem;
	line-height: .8;
}
.hcard__title{ font-weight: 700; font-size: .9rem; line-height: 1.2; }
.hcard__arrow{
  position: absolute;
  right: .35rem;
      bottom: .2rem;
      font-size: 1.4rem;
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.85rem; height: 1.85rem; border-radius: 50%;
  color: #0a2d82;
  transition: transform .24s var(--ease-spring), filter .24s var(--ease-spring);
}

@keyframes hcardArrowRun {
  0% { transform: translateX(0); }
  40% { transform: translateX(6px); }
  80% { transform: translateX(-2px); }
  100% { transform: translateX(0); }
}
.hcard:hover,
.hcard:focus-visible{
	color: #D80C31;
  box-shadow: 0 12px 28px rgba(0,0,0,.36), 0 4px 12px rgba(0,0,0,.28); /* +20 */
  outline: none;
}
.hcard:hover .hcard__arrow,
.hcard:focus-visible .hcard__arrow{
  animation: hcardArrowRun .6s ease-in-out infinite;
}

@keyframes hcardRise {
  from { opacity: 0; transform: translateY(10px) scale(.995); }
  to   { opacity: 1; transform: translateY(0)    scale(1);    }
}
.horg [role="tabpanel"]:not([hidden]) .hcard{
  opacity: 0; animation: hcardRise .28s var(--ease-spring) both;
}

.horg [role="tabpanel"]:not([hidden]) .hcard { animation-delay: calc(var(--stagger, 40ms) * (attr(data-i number, 1) - 1)); }

.horg-more {
	margin-top: 1rem;
}
.horg-more .btn{
	width: 100%;
	justify-content: center;
	background: transparent;
	    border: 2px solid #fff;
	    border-radius: 4px;
	    font-weight: 700;
	    color: #fff;
	    font-size: 0.9rem;
}

.horg-more .btn:hover {
	color: #fff;
	background: #0a2d82;
}

@media (prefers-reduced-motion: reduce){
  .hcard, .hcard * { transition: none !important; animation: none !important; }
}






.micon-seguro::before {
	content:"";
}
.micon-contacto::before {
	content:"";
}
.micon-arrow::before {
	content: "";
}

.mpic-auto::before {
	content: "";
}
.mpic-eps::before,
.mpic-vida::before {
	content: "";
}
.mpic-vida-ley::before,
.mpic-salud::before {
	content: "";
}
.mpic-hogar::before {
	content: "";
}
.mpic-accidente::before {
	content: "";
}
.mpic-soat::before {
	content: "";
}
.mpic-sctr::before {
	content: "";
}
.mpic-fola::before {
	content: "";
}















/* ========== HERO INTRO / bridge section ========== */

.hero.hero-intro{
	padding: 28px 0 24px;
	background:
		radial-gradient(1200px 500px at 8% 0%, rgba(47,109,246,.06), transparent 52%),
		linear-gradient(180deg, #fff 0%, #fbfcff 100%);
}

.hero-intro__grid{
	display:grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(320px, .98fr);
	gap: 34px;
	align-items: center;
}

.hero-intro__copy{
	max-width: 620px;
}

.hero-intro__eyebrow{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:8px 14px;
	margin: 0 0 18px;
	border:1px solid rgba(10,45,130,.10);
	border-radius:999px;
	background: rgba(255,255,255,.78);
	box-shadow: 0 8px 24px rgba(15,31,51,.06);
	color:#0a2d82;
	font-size:.82rem;
	font-weight:700;
	letter-spacing:.01em;
}

.hero-intro__eyebrow-dot{
	width:8px;
	height:8px;
	border-radius:50%;
	background: linear-gradient(135deg, #2f6df6, #173cc0);
	box-shadow: 0 0 0 6px rgba(47,109,246,.12);
}

.hero.hero-intro h1{
	margin:0 0 14px;
	font-size: clamp(2.1rem, 4vw, 3.4rem);
	line-height: 1.02;
	letter-spacing: -0.06em;
	max-width: 12ch;
}

.hero-intro__lead{
	margin:0 0 18px;
	font-size:1.08rem;
	line-height:1.55;
	color:#687082;
	max-width: 52ch;
}

.hero-points{
	list-style:none;
	padding:0;
	margin:0 0 24px;
	display:grid;
	gap:10px;
}

.hero-points li{
	position:relative;
	padding-left:28px;
	font-size:1.02rem;
	line-height:1.45;
	color:#26262c;
}

.hero-points li::before{
	content:"";
	position:absolute;
	left:0;
	top:.34em;
	width:16px;
	height:16px;
	border-radius:50%;
	background:
		radial-gradient(circle at 50% 50%, #fff 0 28%, transparent 30%),
		linear-gradient(135deg, #2f6df6, #173cc0);
	box-shadow: 0 6px 16px rgba(47,109,246,.22);
}

.hero.hero-intro .hero-ctas{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin:0 0 16px;
}

.hero-chips{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}

.hero-chip{
	padding:10px 16px;
	border:1px solid rgba(15,31,51,.12);
	border-radius:999px;
	background:#fff;
	box-shadow: 0 1px 2px rgba(0,0,0,.03);
	transition:
		transform .16s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		border-color .18s var(--ease-spring),
		color .18s var(--ease-spring),
		background .18s var(--ease-spring);
}

.hero-chip:hover,
.hero-chip:focus-visible{
	transform: translateY(-1px);
	border-color: rgba(47,109,246,.28);
	background: color-mix(in oklab, #fff 88%, #2f6df6 12%);
	color:#0a2d82;
	box-shadow: 0 8px 20px rgba(15,31,51,.08);
	outline:none;
}

.hero-intro__media{
	position:relative;
	margin:0;
	min-height: 480px;
	border-radius: 24px;
	overflow:hidden;
	background:#eef2f8;
	box-shadow:
		0 18px 48px rgba(15,31,51,.10),
		0 4px 16px rgba(15,31,51,.06);
	isolation:isolate;
}

.hero-intro__media::before{
	content:"";
	position:absolute;
	inset:0;
	background:
		linear-gradient(180deg, rgba(10,45,130,.02), rgba(10,45,130,.14));
	z-index:1;
	pointer-events:none;
}

.hero-intro__media img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	transform:scale(1.01);
	transition: transform .7s var(--ease-spring);
}

.hero-intro__media:hover img{
	transform:scale(1.04);
}

.hero-intro__badge{
	position:absolute;
	z-index:2;
	max-width: 260px;
	padding:14px 16px;
	border-radius:18px;
	background: rgba(255,255,255,.78);
	backdrop-filter: blur(12px) saturate(1.1);
	-webkit-backdrop-filter: blur(12px) saturate(1.1);
	border:1px solid rgba(255,255,255,.55);
	box-shadow:
		0 14px 30px rgba(15,31,51,.12),
		inset 0 1px 0 rgba(255,255,255,.6);
}

.hero-intro__badge strong{
	display:block;
	margin:0 0 4px;
	font-size:.92rem;
	color:#0a2d82;
}

.hero-intro__badge span{
	display:block;
	font-size:.85rem;
	line-height:1.45;
	color:#5f6777;
}

.hero-intro__badge--top{
	top:18px;
	left:18px;
}

.hero-intro__badge--bottom{
	right:18px;
	bottom:18px;
}

@media (max-width: 980px){
	.hero-intro__grid{
		grid-template-columns:1fr;
	}

	.hero-intro__copy{
		max-width:none;
	}

	.hero.hero-intro h1{
		max-width: 14ch;
	}

	.hero-intro__media{
		min-height: 420px;
	}
}

@media (max-width: 640px){
	.hero.hero-intro{
		padding: 18px 0 18px;
	}

	.hero.hero-intro h1{
		font-size: clamp(1.9rem, 9vw, 2.7rem);
		max-width:none;
	}

	.hero-intro__lead{
		font-size:1rem;
	}

	.hero-intro__media{
		min-height: 320px;
		border-radius: 18px;
	}

	.hero-intro__badge{
		max-width: 210px;
		padding:12px 13px;
		border-radius:14px;
	}

	.hero-intro__badge--top{
		top:12px;
		left:12px;
	}

	.hero-intro__badge--bottom{
		right:12px;
		bottom:12px;
	}
}


/* =========================================================
   HERO INTRO — motion / glass / compact buttons / scenes
   ========================================================= */

.hero.hero-intro{
	padding: 20px 0 10px;
	background:
		radial-gradient(1000px 460px at 8% 0%, rgba(47,109,246,.06), transparent 55%),
		linear-gradient(180deg, #fff 0%, #fbfcff 100%);
}

.hero-intro__grid{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(360px, 548px);
	gap:42px;
	align-items:center;
}

.hero.hero-intro h1{
	margin:0 0 14px;
	font-size:clamp(2.5rem, 4.8vw, 4.35rem);
	line-height:.96;
	letter-spacing:-.075em;
	max-width:11ch;
}

.hero-intro__lead{
	margin:0 0 18px;
	font-size:1.08rem;
	line-height:1.55;
	color:#687082;
	max-width:52ch;
}

.hero-points{
	list-style:none;
	padding:0;
	margin:0 0 22px;
	display:grid;
	gap:10px;
}

.hero-points li{
	position:relative;
	padding-left:28px;
	font-size:1.02rem;
	line-height:1.42;
}

.hero-points li::before{
	content:"";
	position:absolute;
	left:0;
	top:.36em;
	width:16px;
	height:16px;
	border-radius:50%;
	background:linear-gradient(135deg,#2f6df6,#173cc0);
	box-shadow:0 8px 18px rgba(47,109,246,.24);
}

.hero-actions{
	display:grid;
	gap:12px;
	align-items:start;
}

.hero-actions__primary,
.hero-actions__segments{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}

/* компактнее и площе, ближе к шапке */
.hero-btn{
	min-height:auto;
	padding:.82rem 1.1rem;
	border-radius:18px;
	font-size:.98rem;
	line-height:1;
	box-shadow:none;
}

.hero-btn--primary{
	background:#1d49d8;
	color:#fff;
	border:1px solid transparent;
}
.hero-btn--primary:hover{
	transform:translateY(-1px);
	background:#173cc0;
	box-shadow:0 8px 18px rgba(23,60,192,.18);
}

.hero-btn--secondary{
	background:#edf1f5;
	color:#22304a;
	border:1px solid rgba(15,31,51,.08);
}
.hero-btn--secondary:hover{
	transform:translateY(-1px);
	background:#e6edf3;
	box-shadow:0 8px 18px rgba(15,31,51,.08);
}

.hero-chip{
	padding:.78rem 1rem;
	border-radius:999px;
	border:1px solid rgba(15,31,51,.12);
	background:#fff;
	box-shadow:none;
	font-size:.98rem;
}
.hero-chip:hover,
.hero-chip:focus-visible{
	transform:translateY(-1px);
	border-color:rgba(47,109,246,.28);
	background:#f7faff;
	color:#0a2d82;
}

/* stage */
.hero-stage{
	position:relative;
}

.hero-stage__media{
	position:relative;
	min-height:478px;
	margin:0;
	border-radius:24px;
	overflow:hidden;
	background:#ecf1f7;
	box-shadow:
		0 24px 60px rgba(15,31,51,.12),
		0 8px 20px rgba(15,31,51,.06);
	isolation:isolate;
	transform:translateZ(0);
	--px: 0px;
	--py: 0px;
}

.hero-stage__media::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:1;
	background:
		radial-gradient(75% 65% at 0% 100%, rgba(255,255,255,.18), transparent 65%),
		linear-gradient(180deg, rgba(10,45,130,.02), rgba(10,45,130,.14));
	pointer-events:none;
}

.hero-stage__image{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	opacity:0;
	transform:scale(1.06) translate3d(calc(var(--px) * .18), calc(var(--py) * .18), 0);
	transition:
		opacity .6s ease,
		transform .8s cubic-bezier(.2,.8,.2,1);
	will-change:opacity, transform;
}

.hero-stage__image.is-active{
	opacity:1;
	transform:scale(1.01) translate3d(calc(var(--px) * .18), calc(var(--py) * .18), 0);
}

.hero-stage__badges{
	position:absolute;
	inset:0;
	z-index:3;
	pointer-events:none;
}

/* стеклянные баблы */
.hero-intro__badge{
	position:absolute;
	display:flex;
	align-items:flex-start;
	gap:12px;
	max-width:270px;
	padding:14px 16px;
	border-radius:20px;
	background:rgba(255,255,255,.64);
	backdrop-filter:blur(18px) saturate(1.12);
	-webkit-backdrop-filter:blur(18px) saturate(1.12);
	border:1px solid rgba(255,255,255,.55);
	box-shadow:
		0 18px 40px rgba(15,31,51,.14),
		inset 0 1px 0 rgba(255,255,255,.55);
	opacity:0;
	transform:translateY(18px) scale(.96);
	animation:heroBubbleIn .7s var(--ease-spring) forwards, heroBubbleFloat 6.5s ease-in-out infinite;
	will-change:transform, opacity;
	pointer-events:auto;
}

.hero-intro__badge--top{
	top:16px;
	left:16px;
	animation-delay:.08s, .9s;
	transform:translate3d(calc(var(--px) * -.55), calc(var(--py) * -.55), 0);
}

.hero-intro__badge--bottom{
	right:16px;
	bottom:16px;
	animation-delay:.16s, 1.35s;
	transform:translate3d(calc(var(--px) * .65), calc(var(--py) * .65), 0);
}

.hero-intro__badge:hover{
	transform:translateY(-2px) scale(1.01);
	box-shadow:
		0 22px 46px rgba(15,31,51,.16),
		inset 0 1px 0 rgba(255,255,255,.6);
}

.hero-intro__badge-icon{
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:2.3rem;
	height:2.3rem;
	border-radius:999px;
	background:linear-gradient(135deg,#2f6df6,#173cc0);
	color:#fff;
	box-shadow:0 10px 20px rgba(23,60,192,.22);
	font-size:1rem;
}

.hero-intro__badge-copy strong{
	display:block;
	margin:0 0 4px;
	font-size:.96rem;
	line-height:1.2;
	color:#17348d;
}

.hero-intro__badge-copy span{
	display:block;
	font-size:.92rem;
	line-height:1.42;
	color:#5f6777;
}

/* scene switcher */
.hero-scenes{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:10px;
	margin-top:12px;
}

.hero-scene{
	display:flex;
	align-items:center;
	gap:10px;
	padding:8px;
	border:1px solid rgba(15,31,51,.08);
	border-radius:16px;
	background:rgba(255,255,255,.8);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
	cursor:pointer;
	text-align:left;
	transition:
		transform .18s var(--ease-spring),
		border-color .18s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		background .18s var(--ease-spring);
}

.hero-scene:hover{
	transform:translateY(-2px);
	border-color:rgba(47,109,246,.24);
	box-shadow:0 12px 24px rgba(15,31,51,.08);
}

.hero-scene.is-active{
	border-color:rgba(47,109,246,.28);
	background:#f8fbff;
	box-shadow:0 12px 24px rgba(15,31,51,.08);
}

.hero-scene__thumb{
	flex:0 0 54px;
	width:54px;
	height:54px;
	overflow:hidden;
	border-radius:12px;
	background:#e8edf3;
}

.hero-scene__thumb img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .35s var(--ease-spring);
}

.hero-scene:hover .hero-scene__thumb img{
	transform:scale(1.05);
}

.hero-scene__meta{
	display:grid;
	gap:2px;
	min-width:0;
}

.hero-scene__meta strong{
	font-size:.88rem;
	line-height:1.2;
	color:#17348d;
}

.hero-scene__meta span{
	font-size:.8rem;
	line-height:1.25;
	color:#687082;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

/* reveal helper */
.hero-stage.is-in .hero-stage__media{
	animation:heroStageIn .72s var(--ease-spring) both;
}
.hero-intro__copy.is-in > *{
	animation:heroCopyIn .58s var(--ease-spring) both;
}
.hero-intro__copy.is-in > *:nth-child(1){ animation-delay:.02s; }
.hero-intro__copy.is-in > *:nth-child(2){ animation-delay:.06s; }
.hero-intro__copy.is-in > *:nth-child(3){ animation-delay:.1s; }
.hero-intro__copy.is-in > *:nth-child(4){ animation-delay:.14s; }
.hero-intro__copy.is-in > *:nth-child(5){ animation-delay:.18s; }

@keyframes heroStageIn{
	from{ opacity:0; transform:translateY(18px) scale(.985); }
	to{ opacity:1; transform:translateY(0) scale(1); }
}
@keyframes heroCopyIn{
	from{ opacity:0; transform:translateY(10px); }
	to{ opacity:1; transform:translateY(0); }
}
@keyframes heroBubbleIn{
	from{ opacity:0; filter:blur(10px); }
	to{ opacity:1; filter:blur(0); }
}
@keyframes heroBubbleFloat{
	0%,100%{ translate:0 0; }
	50%{ translate:0 -6px; }
}

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

.trust-section{
	padding-top: 18px;
}

.trust-grid{
	align-items:start;
	gap:28px;
}

.trust-copy h2{
	margin-bottom:10px;
	font-size:2rem;
	letter-spacing:-.04em;
}

.trust-kpi{
	margin-top:18px;
	gap:12px;
}

.trust-kpi__item{
	min-width:170px;
	padding:14px 16px;
	border-radius:16px;
	background:linear-gradient(180deg,#fff,#f8fafc);
	border:1px solid rgba(15,31,51,.08);
	box-shadow:0 10px 24px rgba(15,31,51,.05);
	transition:transform .18s var(--ease-spring), box-shadow .18s var(--ease-spring);
}

.trust-kpi__item:hover{
	transform:translateY(-2px);
	box-shadow:0 16px 30px rgba(15,31,51,.08);
}

.trust-kpi__item strong{
	display:block;
	margin-top:8px;
	font-size:1.55rem;
	line-height:1;
	color:#111827;
}

.trust-side{
	padding-top:30px;
}

.trust-side__eyebrow{
	margin-bottom:12px;
	font-size:.96rem;
	color:#6b7280;
}

.ally-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:12px;
}

.ally-card{
	min-height:78px;
	border-radius:18px;
	border:1px solid rgba(15,31,51,.08);
	background:rgba(255,255,255,.78);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
	box-shadow:0 10px 24px rgba(15,31,51,.05);
	transition:transform .18s var(--ease-spring), box-shadow .18s var(--ease-spring), border-color .18s var(--ease-spring);
}

.ally-card:hover{
	transform:translateY(-2px);
	border-color:rgba(47,109,246,.22);
	box-shadow:0 18px 28px rgba(15,31,51,.08);
}

.ally-card__logo{
	height:100%;
	min-height:78px;
	padding:14px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.ally-card__logo img{
	display:block;
	max-width:100%;
	max-height:30px;
	width:auto;
	height:auto;
	filter:grayscale(1) contrast(.94);
	opacity:.88;
	transition:filter .2s ease, opacity .2s ease, transform .2s ease;
}

.ally-card:hover .ally-card__logo img{
	filter:grayscale(0);
	opacity:1;
	transform:scale(1.03);
}

.ally-card__fallback{
	display:none;
	font-size:.92rem;
	font-weight:700;
	color:#17348d;
	text-align:center;
}

.ally-card.is-fallback .ally-card__fallback{
	display:inline-block;
}

.trust-note{
	margin-top:14px;
	max-width:44ch;
	line-height:1.55;
}

/* responsive */
@media (max-width: 980px){
	.hero-intro__grid{
		grid-template-columns:1fr;
	}
	.hero.hero-intro h1{
		max-width:10.5ch;
	}
	.hero-stage__media{
		min-height:430px;
	}
}

@media (max-width: 720px){
	.hero.hero-intro h1{
		font-size:clamp(2.1rem, 10vw, 3rem);
		max-width:none;
	}
	.hero-stage__media{
		min-height:340px;
		border-radius:18px;
	}
	.hero-scenes{
		grid-template-columns:1fr;
	}
	.ally-grid{
		grid-template-columns:1fr;
	}
	.hero-intro__badge{
		max-width:220px;
		padding:12px 13px;
		border-radius:16px;
	}
}

@media (prefers-reduced-motion: reduce){
	.hero-stage__image,
	.hero-intro__badge,
	.hero-scene,
	.hero-scene__thumb img,
	.trust-kpi__item,
	.ally-card{
		transition:none !important;
		animation:none !important;
	}
	.hero-stage__media{
		--px: 0px !important;
		--py: 0px !important;
	}
}





#soluciones .card{
	position:relative;
	overflow:hidden;
}

#soluciones .card::before{
	content:"";
	display:block;
	aspect-ratio:2/1;
	background:var(--card-img,linear-gradient(135deg,rgba(47,109,246,.22),rgba(47,109,246,.55)));
	background-size:cover;
	background-position:center;
	border-radius:var(--radius) var(--radius) 0 0;
	margin:-14px -14px 10px;
	transition:
		transform .42s var(--ease-spring),
		filter .32s var(--ease-spring);
	will-change:transform, filter;
}

@media (hover:hover){
	#soluciones .card:hover::before{
		transform:scale(1.035);
		filter:saturate(1.04) contrast(1.02);
	}
}



/* =========================================================
   MOTION KIT — global reveal + buttons + cards + images
   ========================================================= */

:root{
	--motion-fast: .18s;
	--motion-mid: .38s;
	--motion-slow: .65s;
	--motion-spring: cubic-bezier(.2,.8,.2,1);
}

/* ---------- reveal system ---------- */

[data-reveal]{
	opacity: 0;
	transform: translateY(18px) scale(.985);
	filter: blur(8px);
	transition:
		opacity var(--motion-slow) var(--motion-spring),
		transform var(--motion-slow) var(--motion-spring),
		filter var(--motion-mid) ease;
	will-change: opacity, transform, filter;
}

[data-reveal].is-in{
	opacity: 1;
	transform: translateY(0) scale(1);
	filter: blur(0);
}

/* заголовки/общие блоки */
section.container > h2[data-reveal],
.grid-2 > *[data-reveal]{
	transition-duration: .72s;
}

/* карточки решений */
#soluciones .card[data-reveal]{
	transform:
		perspective(900px)
		rotateX(var(--ry, 0deg))
		rotateY(var(--rx, 0deg))
		translateY(18px)
		scale(.985);
	transform-style: preserve-3d;
	transition:
		opacity .55s var(--motion-spring),
		transform .55s var(--motion-spring),
		filter .35s ease,
		box-shadow .22s var(--motion-spring);
	filter: blur(6px);
}

#soluciones .card[data-reveal].is-in{
	transform:
		perspective(900px)
		rotateX(var(--ry, 0deg))
		rotateY(var(--rx, 0deg))
		translateY(0)
		scale(1);
	filter: blur(0);
}

/* внутренности карточек появляются каскадом */
#soluciones .card > *{
	opacity: 0;
	transform: translateY(10px);
	transition:
		opacity .42s var(--motion-spring),
		transform .42s var(--motion-spring);
}

#soluciones .card.is-in > *{
	opacity: 1;
	transform: translateY(0);
}

#soluciones .card.is-in > *:nth-child(1){ transition-delay: .04s; }
#soluciones .card.is-in > *:nth-child(2){ transition-delay: .08s; }
#soluciones .card.is-in > *:nth-child(3){ transition-delay: .12s; }
#soluciones .card.is-in > *:nth-child(4){ transition-delay: .16s; }
#soluciones .card.is-in > *:nth-child(5){ transition-delay: .20s; }

/* фото-шапка карточек */
#soluciones .card{
	position: relative;
	overflow: hidden;
	--mx: 50%;
	--my: 50%;
	--rx: 0deg;
	--ry: 0deg;
}

#soluciones .card::before{
	transition:
		transform .55s var(--motion-spring),
		filter .38s var(--motion-spring),
		background-position .55s var(--motion-spring);
	will-change: transform, filter;
	filter: saturate(.94) contrast(.98) brightness(.96);
	transform:
		scale(1.06)
		translate3d(calc((var(--mx) - 50%) * .018), calc((var(--my) - 50%) * .018), 0);
}

#soluciones .card.is-in::before{
	transform:
		scale(1)
		translate3d(calc((var(--mx) - 50%) * .018), calc((var(--my) - 50%) * .018), 0);
	filter: saturate(1) contrast(1) brightness(1);
}

@media (hover:hover){
	#soluciones .card:hover{
		transform:
			perspective(900px)
			rotateX(var(--ry, 0deg))
			rotateY(var(--rx, 0deg))
			translateY(-6px)
			scale(1.002);
		box-shadow:
			0 18px 36px rgba(0,0,0,.10),
			0 6px 14px rgba(0,0,0,.08);
	}
	#soluciones .card:hover::before{
		transform:
			scale(1.04)
			translate3d(calc((var(--mx) - 50%) * .024), calc((var(--my) - 50%) * .024), 0);
		filter: saturate(1.05) contrast(1.02) brightness(1.02);
	}
}

/* лёгкий свет на фото */
#soluciones .card::after{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:
		radial-gradient(
			220px circle at var(--mx, 50%) var(--my, 50%),
			rgba(255,255,255,.18),
			transparent 55%
		);
	opacity:0;
	transition: opacity .28s ease;
}

@media (hover:hover){
	#soluciones .card:hover::after{ opacity:1; }
}

/* ---------- Buttons: living gradients + locator wave ---------- */

.btn{
	position: relative;
	isolation: isolate;
	overflow: hidden;
	--mx: 50%;
	--my: 50%;
	--btn-wave-size: 0px;
}

/* убираем глобальную underline-линию ссылок с .btn */
.btn::after{
	content:"";
	position:absolute;
	inset:auto;
	left: var(--mx);
	top: var(--my);
	width: var(--btn-wave-size);
	height: var(--btn-wave-size);
	transform: translate(-50%, -50%);
	border-radius: 999px;
	background: radial-gradient(circle, rgba(255,255,255,.34) 0%, rgba(255,255,255,.12) 32%, transparent 70%);
	opacity: 0;
	pointer-events: none;
	z-index: 0;
	transition:
		width .42s var(--motion-spring),
		height .42s var(--motion-spring),
		opacity .28s ease;
}

.btn::before{
	content:"";
	position:absolute;
	inset:-30%;
	pointer-events:none;
	z-index:0;
	background:
		radial-gradient(
			180px circle at var(--mx, 50%) var(--my, 50%),
			rgba(255,255,255,.18),
			transparent 58%
		),
		linear-gradient(
			115deg,
			transparent 18%,
			rgba(255,255,255,.14) 42%,
			transparent 68%
		);
	transform: translateX(-18%);
	opacity:.7;
	transition:
		transform .42s var(--motion-spring),
		opacity .24s ease;
}

.btn:hover::before{
	opacity:1;
	animation: btnSheen 1.2s linear infinite;
}

.btn:hover::after{
	opacity:1;
	--btn-wave-size: 220px;
}

.btn > *{
	position:relative;
	z-index:1;
}

/* для anchor-кнопок, где текст — просто текстовый узел */
.btn{
	z-index: 0;
}

.btn.primary,
.btn.blue{
	background-size: 180% 180%;
	animation: btnGradientDrift 7.5s ease-in-out infinite;
}

.btn.primary:hover,
.btn.blue:hover{
	animation-duration: 2.4s;
}

.btn.outline,
.btn.light{
	background-size: 150% 150%;
}

.btn.outline:hover,
.btn.light:hover{
	animation: btnSoftSurface 2.2s ease-in-out infinite;
}

@keyframes btnGradientDrift{
	0%   { background-position: 0% 50%, 100% 100%, 0% 50%; }
	50%  { background-position: 8% 44%, 92% 86%, 100% 50%; }
	100% { background-position: 0% 50%, 100% 100%, 0% 50%; }
}

@keyframes btnSoftSurface{
	0%,100% { background-position: 0% 50%; }
	50%     { background-position: 100% 50%; }
}

@keyframes btnSheen{
	0%   { transform: translateX(-20%); }
	100% { transform: translateX(20%); }
}

/* ---------- inner button accents in cards ---------- */

#soluciones .card .btn.outline{
	border-color: rgba(47,109,246,.18);
	transition:
		transform .18s var(--motion-spring),
		box-shadow .18s var(--motion-spring),
		border-color .18s var(--motion-spring),
		background .22s var(--motion-spring);
}

#soluciones .card:hover .btn.outline{
	border-color: rgba(47,109,246,.28);
	box-shadow: 0 10px 22px rgba(47,109,246,.10);
}

/* ---------- hero / badges / media ---------- */

.hero-intro__badge,
.hero-stage__media,
.hero-scene{
	--mx: 50%;
	--my: 50%;
}

.hero-intro__badge{
	transition:
		transform .24s var(--motion-spring),
		box-shadow .24s var(--motion-spring),
		background .24s var(--motion-spring);
}

.hero-intro__badge::before{
	content:"";
	position:absolute;
	inset:0;
	border-radius:inherit;
	pointer-events:none;
	background:
		radial-gradient(
			180px circle at var(--mx, 50%) var(--my, 50%),
			rgba(255,255,255,.26),
			transparent 62%
		);
	opacity:.55;
}

@media (hover:hover){
	.hero-intro__badge:hover{
		transform: translateY(-2px) scale(1.015);
	}
}

/* ---------- reduced motion ---------- */

@media (prefers-reduced-motion: reduce){
	[data-reveal],
	#soluciones .card,
	#soluciones .card::before,
	#soluciones .card::after,
	#soluciones .card > *,
	.btn,
	.btn::before,
	.btn::after,
	.hero-intro__badge{
		animation:none !important;
		transition:none !important;
		filter:none !important;
		transform:none !important;
	}
}



/* =========================================================
   CONTACT FORM — premium shell
   ========================================================= */

.contacto{
	--form-bg: linear-gradient(180deg, rgba(255,255,255,.94), rgba(249,251,255,.96));
	--form-line: rgba(15,31,51,.08);
	--form-line-strong: rgba(47,109,246,.28);
	--form-shadow:
		0 28px 60px rgba(15,31,51,.10),
		0 8px 22px rgba(15,31,51,.05);
	--form-radius: 28px;
	--field-radius: 18px;
	--field-shadow: 0 8px 24px rgba(15,31,51,.05);
	--field-shadow-hover: 0 14px 28px rgba(15,31,51,.07);
	--field-shadow-focus:
		0 16px 34px rgba(47,109,246,.12),
		0 0 0 4px rgba(47,109,246,.08);
	font-size: .95rem;
}

.contacto__shell{
	position: relative;
	padding: 26px;
	border-radius: var(--form-radius);
	background:
		radial-gradient(700px 220px at 0% 0%, rgba(47,109,246,.06), transparent 58%),
		var(--form-bg);
	border: 1px solid rgba(255,255,255,.72);
	box-shadow: var(--form-shadow);
	backdrop-filter: blur(12px) saturate(1.06);
	-webkit-backdrop-filter: blur(12px) saturate(1.06);
	overflow: hidden;
}

.contacto__shell::before{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:
		linear-gradient(135deg, rgba(255,255,255,.30), transparent 36%),
		radial-gradient(500px 180px at 100% 0%, rgba(47,109,246,.05), transparent 55%);
}

.contacto__intro{
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	gap: 18px;
	align-items: end;
	margin: 0 0 22px;
	padding: 0 2px;
}

.contacto__eyebrow{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:8px 14px;
	margin:0 0 12px;
	border-radius:999px;
	background:#f6f9ff;
	border:1px solid rgba(47,109,246,.12);
	color:#1d49d8;
	font-size:.8rem;
	font-weight:800;
	letter-spacing:.01em;
	box-shadow: 0 8px 18px rgba(47,109,246,.08);
}

.contacto__eyebrow::before{
	content:"";
	width:8px;
	height:8px;
	border-radius:50%;
	background:linear-gradient(135deg,#2f6df6,#173cc0);
	box-shadow:0 0 0 6px rgba(47,109,246,.10);
}

.contacto__intro h3{
	margin:0 0 8px;
	font-size: clamp(1.7rem, 3vw, 2.3rem);
	line-height:1;
	letter-spacing:-.05em;
	color:#172033;
}

.contacto__lead{
	margin:0;
	max-width:62ch;
	font-size:1rem;
	line-height:1.6;
	color:#667085;
}

.contacto__meta{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	gap:10px;
}

.contacto__meta-chip{
	display:inline-flex;
	align-items:center;
	min-height:40px;
	padding:10px 14px;
	border-radius:999px;
	background: rgba(255,255,255,.76);
	border:1px solid rgba(15,31,51,.08);
	box-shadow: 0 8px 20px rgba(15,31,51,.05);
	color:#22304a;
	font-weight:700;
	white-space:nowrap;
}

.contacto form{
	position: relative;
	z-index: 1;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	display:grid;
	grid-template-columns:repeat(12,minmax(0,1fr));
	gap:16px;
	align-items:start;
}

.contacto form .field{
	margin:0;
	grid-column:span 4;
	padding:12px 14px 14px;
	border-radius: var(--field-radius);
	background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,.98));
	border:1px solid var(--form-line);
	box-shadow: var(--field-shadow);
	transition:
		transform .18s var(--ease-spring),
		border-color .18s var(--ease-spring),
		box-shadow .22s var(--ease-spring),
		background .18s var(--ease-spring);
}

.contacto form .field:hover{
	transform: translateY(-1px);
	box-shadow: var(--field-shadow-hover);
}

.contacto form .field:focus-within{
	transform: translateY(-2px);
	border-color: var(--form-line-strong);
	box-shadow: var(--field-shadow-focus);
	background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,255,1));
}

.contacto form .field:has(textarea),
.contacto form .field--consent{
	grid-column:1/-1;
}

.contacto label{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin:0;
	font-weight:700;
	line-height:1.3;
	color:var(--brand-navy);
}

.contacto .field:not(.field--consent) label{
	font-size:.98rem;
}

.contacto input,
.contacto select,
.contacto textarea{
	width:100%;
	margin-top:10px;
	padding:0;
	border:0;
	border-radius:0;
	background:transparent;
	color:#111827;
	font:inherit;
	transition:none;
	box-shadow:none;
	outline:none;
}

.contacto input::placeholder,
.contacto textarea::placeholder{
	color:#98a2b3;
}

.contacto textarea{
	min-height:140px;
	resize:vertical;
	line-height:1.6;
}

.contacto select{
	cursor:pointer;
	padding-right: 20px;
}

.contacto input:focus,
.contacto select:focus,
.contacto textarea:focus{
	outline:0;
	border:0;
	box-shadow:none;
	background:transparent;
}

.contacto .field--consent{
	padding:14px 16px;
	background: linear-gradient(180deg, rgba(246,249,255,.92), rgba(255,255,255,.96));
}

.contacto .field--consent label{
	align-items:flex-start;
	justify-content:flex-start;
	font-weight:700;
	color:#22304a;
}

.contacto input[type="checkbox"]{
	flex:0 0 auto;
	width:18px;
	height:18px;
	margin:3px 0 0;
	accent-color:#2f6df6;
}

.contacto__footer{
	grid-column:1/-1;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	margin-top:4px;
}

.contacto__submit{
	min-width: 214px;
	padding: .95rem 1.35rem;
	border-radius: 16px;
	box-shadow:
		0 16px 32px rgba(23,60,192,.26),
		0 5px 14px rgba(0,0,0,.08),
		inset 0 1px 0 rgba(255,255,255,.45);
}

.contacto__submit:hover{
	box-shadow:
		0 22px 40px rgba(23,60,192,.30),
		0 7px 16px rgba(0,0,0,.10),
		inset 0 1px 0 rgba(255,255,255,.52);
}

.contacto__hint{
	display:flex;
	align-items:center;
	gap:10px;
	min-height:52px;
	padding:12px 14px;
	border-radius:16px;
	background: rgba(255,255,255,.72);
	border:1px solid rgba(15,31,51,.08);
	box-shadow: 0 8px 22px rgba(15,31,51,.05);
	color:#5f6777;
	line-height:1.45;
}

.contacto__hint-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:2rem;
	height:2rem;
	border-radius:999px;
	background: linear-gradient(135deg,#2f6df6,#173cc0);
	color:#fff;
	box-shadow: 0 10px 20px rgba(23,60,192,.18);
	flex:0 0 auto;
}

.contacto__success{
	grid-column:1/-1;
	display:inline-flex;
	align-items:center;
	gap:10px;
	width:max-content;
	max-width:100%;
	margin-top:2px;
	padding:10px 14px;
	border-radius:999px;
	background: rgba(232,249,239,.96);
	border:1px solid rgba(52,168,83,.18);
	color:#1d6b37;
	font-weight:600;
}

.contacto__success::before{
	content:"";
	width:9px;
	height:9px;
	border-radius:50%;
	background:#34a853;
	box-shadow:0 0 0 6px rgba(52,168,83,.12);
	flex:0 0 auto;
}

/* tab-open animations */
#tab-cotiza:not([hidden]) .contacto__intro > *{
	animation: contactoFadeUp .55s var(--ease-spring) both;
}

#tab-cotiza:not([hidden]) .contacto__intro > *:nth-child(1){ animation-delay:.04s; }
#tab-cotiza:not([hidden]) .contacto__intro > *:nth-child(2){ animation-delay:.10s; }

#tab-cotiza:not([hidden]) form .field,
#tab-cotiza:not([hidden]) .contacto__footer,
#tab-cotiza:not([hidden]) .contacto__success{
	opacity:0;
	transform: translateY(12px);
	animation: contactoFadeUp .52s var(--ease-spring) forwards;
}

#tab-cotiza:not([hidden]) form .field:nth-child(1){ animation-delay:.08s; }
#tab-cotiza:not([hidden]) form .field:nth-child(2){ animation-delay:.12s; }
#tab-cotiza:not([hidden]) form .field:nth-child(3){ animation-delay:.16s; }
#tab-cotiza:not([hidden]) form .field:nth-child(4){ animation-delay:.20s; }
#tab-cotiza:not([hidden]) form .field:nth-child(5){ animation-delay:.24s; }
#tab-cotiza:not([hidden]) form .field:nth-child(6){ animation-delay:.28s; }
#tab-cotiza:not([hidden]) form .field:nth-child(7){ animation-delay:.32s; }
#tab-cotiza:not([hidden]) .contacto__footer{ animation-delay:.38s; }
#tab-cotiza:not([hidden]) .contacto__success{ animation-delay:.44s; }

@keyframes contactoFadeUp{
	from{
		opacity:0;
		transform: translateY(12px) scale(.985);
		filter: blur(6px);
	}
	to{
		opacity:1;
		transform: translateY(0) scale(1);
		filter: blur(0);
	}
}

@media (max-width: 960px){
	.contacto__intro{
		grid-template-columns:1fr;
		align-items:start;
	}
	.contacto__meta{
		justify-content:flex-start;
	}
	.contacto form .field{
		grid-column:span 6;
	}
	.contacto__footer{
		flex-direction:column;
		align-items:stretch;
	}
	.contacto__submit{
		width:100%;
		min-width:0;
	}
}

@media (max-width: 560px){
	.contacto__shell{
		padding:18px;
		border-radius:22px;
	}
	.contacto form .field{
		grid-column:1/-1;
	}
	.contacto__intro h3{
		font-size:1.55rem;
	}
	.contacto__meta{
		gap:8px;
	}
	.contacto__meta-chip{
		font-size:.86rem;
		padding:9px 12px;
	}
}

@media (prefers-reduced-motion: reduce){
	#tab-cotiza:not([hidden]) .contacto__intro > *,
	#tab-cotiza:not([hidden]) form .field,
	#tab-cotiza:not([hidden]) .contacto__footer,
	#tab-cotiza:not([hidden]) .contacto__success,
	.contacto form .field,
	.contacto__submit{
		animation:none !important;
		transition:none !important;
		transform:none !important;
		filter:none !important;
	}
}



/* =========================================================
   JOURNEY SECTION — process / stories / help
   ========================================================= */

.journey{
	position:relative;
	padding: 54px 0 70px;
	background:
		radial-gradient(900px 320px at 0% 0%, rgba(47,109,246,.05), transparent 58%),
		linear-gradient(180deg, #fff 0%, #fbfcff 100%);
	overflow:hidden;
}

.journey::before{
	content:"";
	position:absolute;
	right:-120px;
	top:60px;
	width:340px;
	height:340px;
	border-radius:50%;
	background: radial-gradient(circle, rgba(47,109,246,.08), transparent 68%);
	filter: blur(10px);
	pointer-events:none;
}

.journey__head{
	max-width: 760px;
	margin: 0 0 28px;
}

.journey__eyebrow{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:8px 14px;
	margin:0 0 14px;
	border-radius:999px;
	background:#f7faff;
	border:1px solid rgba(47,109,246,.12);
	color:#1d49d8;
	font-size:.8rem;
	font-weight:800;
	letter-spacing:.01em;
	box-shadow:0 8px 18px rgba(47,109,246,.08);
}

.journey__eyebrow::before{
	content:"";
	width:8px;
	height:8px;
	border-radius:50%;
	background:linear-gradient(135deg,#2f6df6,#173cc0);
	box-shadow:0 0 0 6px rgba(47,109,246,.10);
}

.journey__head h2{
	margin:0 0 10px;
	font-size:clamp(2rem, 4vw, 3rem);
	line-height:.98;
	letter-spacing:-.055em;
}

.journey__lead{
	margin:0;
	max-width:60ch;
	font-size:1.03rem;
	line-height:1.65;
	color:#667085;
}

.journey__grid{
	display:grid;
	grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);
	gap:22px;
	align-items:start;
}

.journey__side{
	display:grid;
	gap:22px;
}

.journey-block{
	position:relative;
	padding:24px;
	border-radius:28px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,251,255,.98));
	border:1px solid rgba(15,31,51,.08);
	box-shadow:
		0 28px 60px rgba(15,31,51,.08),
		0 8px 22px rgba(15,31,51,.05);
	overflow:hidden;
}

.journey-block::before{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:
		linear-gradient(135deg, rgba(255,255,255,.34), transparent 36%),
		radial-gradient(540px 180px at 100% 0%, rgba(47,109,246,.05), transparent 56%);
}

.journey-block__top{
	position:relative;
	z-index:1;
	margin:0 0 18px;
}

.journey-block__kicker{
	display:inline-flex;
	align-items:center;
	min-height:34px;
	padding:7px 12px;
	margin:0 0 12px;
	border-radius:999px;
	background:#f8faff;
	border:1px solid rgba(47,109,246,.10);
	color:#1d49d8;
	font-size:.78rem;
	font-weight:800;
	letter-spacing:.02em;
	text-transform:none;
}

.journey-block__kicker--accent{
	background:#fff8fb;
	border-color:rgba(216,12,49,.10);
	color:#d80c31;
}

.journey-block h3{
	position:relative;
	z-index:1;
	margin:0;
	font-size:1.8rem;
	line-height:1;
	letter-spacing:-.05em;
	color:#172033;
}

.journey-block__intro{
	margin:10px 0 0;
	max-width:54ch;
	line-height:1.6;
	color:#667085;
}

/* reveal */
.journey [data-reveal]{
	opacity:0;
	transform:translateY(16px) scale(.986);
	filter:blur(6px);
	transition:
		opacity .58s var(--ease-spring),
		transform .58s var(--ease-spring),
		filter .34s ease;
	transition-delay: var(--reveal-delay, 0ms);
}

.journey [data-reveal].is-in{
	opacity:1;
	transform:translateY(0) scale(1);
	filter:blur(0);
}

/* process */
.journey-steps{
	list-style:none;
	padding:0;
	margin:0;
	display:grid;
	gap:14px;
	position:relative;
}

.journey-step{
	position:relative;
	display:grid;
	grid-template-columns:72px minmax(0,1fr);
	gap:14px;
	align-items:start;
	padding:14px;
	border-radius:20px;
	background:rgba(255,255,255,.84);
	border:1px solid rgba(15,31,51,.06);
	box-shadow:0 10px 24px rgba(15,31,51,.05);
	transition:
		transform .18s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		border-color .18s var(--ease-spring);
}

.journey-step:hover{
	transform:translateY(-2px);
	border-color:rgba(47,109,246,.18);
	box-shadow:0 18px 28px rgba(15,31,51,.08);
}

.journey-step__num{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:48px;
	padding:0 14px;
	border-radius:16px;
	background:linear-gradient(135deg,#2f6df6,#173cc0);
	color:#fff;
	font-weight:800;
	letter-spacing:.04em;
	box-shadow:0 14px 28px rgba(23,60,192,.20);
}

.journey-step__body strong{
	display:block;
	margin:2px 0 6px;
	font-size:1.06rem;
	color:#172033;
}

.journey-step__body p{
	margin:0;
	line-height:1.6;
	color:#667085;
}

/* stories */
.story-cards{
	display:grid;
	grid-template-columns:1fr;
	gap:14px;
}

.story-card{
	position:relative;
	padding:18px 18px 18px 20px;
	border-radius:22px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,255,.98));
	border:1px solid rgba(15,31,51,.08);
	box-shadow:0 12px 26px rgba(15,31,51,.05);
	transition:
		transform .18s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		border-color .18s var(--ease-spring);
}

.story-card:hover{
	transform:translateY(-2px);
	border-color:rgba(47,109,246,.18);
	box-shadow:0 18px 30px rgba(15,31,51,.08);
}

.story-card__quote{
	position:absolute;
	right:16px;
	top:10px;
	font-size:3rem;
	line-height:1;
	color:rgba(47,109,246,.12);
	font-weight:700;
	pointer-events:none;
}

.story-card__meta{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	align-items:center;
	margin:0 0 8px;
}

.story-card__meta strong{
	font-size:1rem;
	color:#172033;
}

.story-card__meta span{
	color:#667085;
}

.story-card p{
	position:relative;
	z-index:1;
	margin:0;
	line-height:1.6;
	color:#374151;
}

/* help */
.help-steps{
	list-style:none;
	padding:0;
	margin:0;
	display:grid;
	gap:12px;
}

.help-step{
	display:grid;
	grid-template-columns:42px minmax(0,1fr);
	gap:12px;
	align-items:start;
	padding:12px 0;
	border-top:1px solid rgba(15,31,51,.08);
}

.help-step:first-child{
	border-top:0;
	padding-top:0;
}

.help-step__pin{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:42px;
	height:42px;
	border-radius:999px;
	background:linear-gradient(135deg,#fff,#f7faff);
	border:1px solid rgba(47,109,246,.18);
	color:#1d49d8;
	font-weight:800;
	box-shadow:0 10px 22px rgba(47,109,246,.10);
}

.help-step__body strong{
	display:block;
	margin:2px 0 4px;
	color:#172033;
}

.help-step__body p{
	margin:0;
	line-height:1.55;
	color:#667085;
}

.journey-help__cta{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:12px;
	margin-top:18px;
	padding-top:18px;
	border-top:1px solid rgba(15,31,51,.08);
}

.journey-help__btn{
	border-radius:16px;
	padding:.9rem 1.15rem;
	min-height:auto;
	box-shadow:none;
}

.journey-help__note{
	color:#667085;
	line-height:1.5;
}

/* responsive */
@media (max-width: 980px){
	.journey__grid{
		grid-template-columns:1fr;
	}
}

@media (max-width: 640px){
	.journey{
		padding:42px 0 54px;
	}
	.journey-block{
		padding:18px;
		border-radius:22px;
	}
	.journey-step{
		grid-template-columns:58px minmax(0,1fr);
	}
	.journey-step__num{
		min-height:44px;
		border-radius:14px;
	}
	.journey-block h3{
		font-size:1.55rem;
	}
}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
	.journey [data-reveal],
	.journey-step,
	.story-card{
		transition:none !important;
		transform:none !important;
		filter:none !important;
	}
}



/* =========================================================
   BRAND FAQ / ABOUT
   ========================================================= */

.brand-faq{
	position:relative;
	padding:56px 0 72px;
	background:
		radial-gradient(820px 260px at 0% 0%, rgba(47,109,246,.05), transparent 58%),
		linear-gradient(180deg, #fff 0%, #fbfcff 100%);
	overflow:hidden;
}

.brand-faq::before{
	content:"";
	position:absolute;
	left:-120px;
	bottom:-120px;
	width:320px;
	height:320px;
	border-radius:50%;
	background:radial-gradient(circle, rgba(47,109,246,.06), transparent 68%);
	filter:blur(12px);
	pointer-events:none;
}

.brand-faq__shell{
	position:relative;
	padding:28px;
	border-radius:32px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,251,255,.98));
	border:1px solid rgba(15,31,51,.08);
	box-shadow:
		0 28px 60px rgba(15,31,51,.08),
		0 8px 22px rgba(15,31,51,.05);
	overflow:hidden;
}

.brand-faq__shell::before{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:
		linear-gradient(135deg, rgba(255,255,255,.34), transparent 36%),
		radial-gradient(560px 180px at 100% 0%, rgba(47,109,246,.05), transparent 56%);
}

.brand-faq__grid{
	position:relative;
	z-index:1;
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(320px, 1fr);
	gap:30px;
	align-items:start;
}

.brand-faq__about,
.brand-faq__accordion{
	min-width:0;
}

.brand-faq__accordion{
	padding-left:30px;
	border-left:1px solid rgba(15,31,51,.08);
}

.brand-faq__eyebrow{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:8px 14px;
	margin:0 0 14px;
	border-radius:999px;
	background:#fff8fb;
	border:1px solid rgba(216,12,49,.10);
	color:#d80c31;
	font-size:.8rem;
	font-weight:800;
	letter-spacing:.01em;
	box-shadow:0 8px 18px rgba(216,12,49,.06);
}

.brand-faq__eyebrow::before{
	content:"";
	width:8px;
	height:8px;
	border-radius:50%;
	background:linear-gradient(135deg,#d80c31,#ff6b88);
	box-shadow:0 0 0 6px rgba(216,12,49,.10);
}

.brand-faq__eyebrow--blue{
	background:#f7faff;
	border-color:rgba(47,109,246,.12);
	color:#1d49d8;
	box-shadow:0 8px 18px rgba(47,109,246,.08);
}

.brand-faq__eyebrow--blue::before{
	background:linear-gradient(135deg,#2f6df6,#173cc0);
	box-shadow:0 0 0 6px rgba(47,109,246,.10);
}

.brand-faq h2,
.brand-faq h3{
	margin:0 0 14px;
	font-size:clamp(1.9rem, 3vw, 2.5rem);
	line-height:1;
	letter-spacing:-.05em;
	color:#172033;
}

.brand-faq__copy{
	display:grid;
	gap:14px;
}

.brand-faq__copy p{
	margin:0;
	line-height:1.72;
	color:#667085;
	font-size:1.02rem;
}

.brand-faq__copy strong{
	color:#172033;
}

.brand-faq__pills{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:20px;
}

.brand-faq__pill{
	display:inline-flex;
	align-items:center;
	min-height:40px;
	padding:10px 14px;
	border-radius:999px;
	background:rgba(255,255,255,.78);
	border:1px solid rgba(15,31,51,.08);
	box-shadow:0 8px 18px rgba(15,31,51,.05);
	color:#22304a;
	font-weight:700;
	transition:
		transform .18s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		border-color .18s var(--ease-spring);
}

.brand-faq__pill:hover{
	transform:translateY(-1px);
	border-color:rgba(47,109,246,.18);
	box-shadow:0 14px 24px rgba(15,31,51,.08);
}

/* accordion */
.brand-faq__list{
	display:grid;
	gap:12px;
	margin-top:8px;
}

.faq-item{
	position:relative;
	border-radius:22px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,255,.98));
	border:1px solid rgba(15,31,51,.08);
	box-shadow:0 10px 24px rgba(15,31,51,.05);
	overflow:hidden;
	transition:
		transform .18s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		border-color .18s var(--ease-spring);
}

.faq-item:hover{
	transform:translateY(-1px);
	border-color:rgba(47,109,246,.18);
	box-shadow:0 18px 28px rgba(15,31,51,.08);
}

.faq-item summary{
	list-style:none;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	padding:18px 20px;
	font-weight:700;
	color:#172033;
}

.faq-item summary::-webkit-details-marker{
	display:none;
}

.faq-item__q{
	flex:1 1 auto;
	font-size:1.03rem;
	line-height:1.4;
}

.faq-item__icon{
	position:relative;
	flex:0 0 auto;
	width:2.15rem;
	height:2.15rem;
	border-radius:999px;
	background:#f7faff;
	border:1px solid rgba(47,109,246,.12);
	box-shadow:0 8px 16px rgba(47,109,246,.08);
	transition:
		transform .24s var(--ease-spring),
		background .18s var(--ease-spring),
		border-color .18s var(--ease-spring);
}

.faq-item__icon::before,
.faq-item__icon::after{
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	background:#2f6df6;
	border-radius:999px;
	transform:translate(-50%, -50%);
	transition:transform .24s var(--ease-spring), opacity .18s ease;
}

.faq-item__icon::before{
	width:12px;
	height:2px;
}

.faq-item__icon::after{
	width:2px;
	height:12px;
}

.faq-item[open] .faq-item__icon{
	transform:rotate(180deg);
	background:#eef4ff;
	border-color:rgba(47,109,246,.20);
}

.faq-item[open] .faq-item__icon::after{
	opacity:0;
	transform:translate(-50%, -50%) scaleY(.4);
}

/* animated content */
.faq-item__content{
	display:grid;
	grid-template-rows:0fr;
	transition:
		grid-template-rows .34s var(--ease-spring),
		opacity .28s ease;
	opacity:.9;
}

.faq-item[open] .faq-item__content{
	grid-template-rows:1fr;
	opacity:1;
}

.faq-item__inner{
	overflow:hidden;
}

.faq-item__inner p{
	margin:0;
	padding:0 20px 20px;
	line-height:1.68;
	color:#667085;
	transform:translateY(-4px);
	opacity:0;
	transition:
		transform .28s var(--ease-spring),
		opacity .24s ease;
}

.faq-item[open] .faq-item__inner p{
	transform:translateY(0);
	opacity:1;
}

/* reveal */
.brand-faq [data-reveal]{
	opacity:0;
	transform:translateY(18px) scale(.988);
	filter:blur(6px);
	transition:
		opacity .6s var(--ease-spring),
		transform .6s var(--ease-spring),
		filter .34s ease;
}

.brand-faq [data-reveal].is-in{
	opacity:1;
	transform:translateY(0) scale(1);
	filter:blur(0);
}

/* mobile */
@media (max-width: 980px){
	.brand-faq__grid{
		grid-template-columns:1fr;
	}
	.brand-faq__accordion{
		padding-left:0;
		border-left:0;
		padding-top:8px;
		border-top:1px solid rgba(15,31,51,.08);
	}
}

@media (max-width: 640px){
	.brand-faq{
		padding:42px 0 54px;
	}
	.brand-faq__shell{
		padding:18px;
		border-radius:24px;
	}
	.brand-faq h2,
	.brand-faq h3{
		font-size:1.65rem;
	}
	.faq-item summary{
		padding:16px 16px;
	}
	.faq-item__inner p{
		padding:0 16px 16px;
	}
}

@media (prefers-reduced-motion: reduce){
	.brand-faq [data-reveal],
	.faq-item,
	.faq-item__content,
	.faq-item__inner p,
	.brand-faq__pill,
	.faq-item__icon{
		transition:none !important;
		transform:none !important;
		filter:none !important;
	}
}



/* =========================================================
   FOOTER — soft premium refresh
   ========================================================= */

.site-footer{
	position: relative;
	padding: 34px 0 26px;
	background:
		radial-gradient(760px 220px at 0% 0%, rgba(47,109,246,.04), transparent 58%),
		linear-gradient(180deg, #fff 0%, #fbfcff 100%);
}

.site-footer .footer-shell{
	position: relative;
	padding: 26px 28px 18px;
	border-radius: 28px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,251,255,.98));
	border: 1px solid rgba(15,31,51,.08);
	box-shadow:
		0 22px 48px rgba(15,31,51,.06),
		0 8px 20px rgba(15,31,51,.04);
	overflow: hidden;
}

.site-footer .footer-shell::before{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:
		linear-gradient(135deg, rgba(255,255,255,.34), transparent 36%),
		radial-gradient(420px 160px at 100% 0%, rgba(47,109,246,.05), transparent 56%);
}

.site-footer .grid{
	position: relative;
	z-index: 1;
	display:grid;
	grid-template-columns: minmax(240px, 1.15fr) repeat(3, minmax(180px, .9fr));
	column-gap: 40px;
	row-gap: 22px;
	align-items: start;
}

.footer-brand{
	max-width: 320px;
}

.footer-brand__logo{
	display:inline-block;
	margin-bottom: 14px;
}

.footer-brand__logo img{
	display:block;
	height: 5.4rem;
	width: auto;
	margin: 0;
	filter: drop-shadow(0 8px 16px rgba(200,164,70,.12));
	transition: transform .2s var(--ease-spring), filter .2s var(--ease-spring);
}

.footer-brand__logo:hover img{
	transform: translateY(-1px) scale(1.01);
	filter: drop-shadow(0 14px 22px rgba(200,164,70,.18));
}

.footer-brand__text{
	margin: 0 0 16px;
	font-size: 1rem;
	line-height: 1.58;
	color: #374151;
}

.footer-brand__contacts{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}

.footer-contact-pill{
	display:inline-flex;
	align-items:center;
	min-height:38px;
	padding:9px 13px;
	border-radius:999px;
	background: rgba(255,255,255,.82);
	border:1px solid rgba(15,31,51,.08);
	box-shadow: 0 8px 18px rgba(15,31,51,.05);
	color:#5b6476;
	font-size:.92rem;
	font-weight:600;
	transition:
		transform .18s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		border-color .18s var(--ease-spring),
		color .18s var(--ease-spring),
		background .18s var(--ease-spring);
}

.footer-contact-pill:hover,
.footer-contact-pill:focus-visible{
	transform: translateY(-1px);
	border-color: rgba(47,109,246,.18);
	box-shadow: 0 14px 24px rgba(15,31,51,.08);
	color:#1d49d8;
	background:#f8fbff;
	outline:none;
}

.site-footer h5,
.footer-col h5{
	margin: 2px 0 12px;
	font-size: 1rem;
	line-height: 1.2;
	font-weight: 800;
	color:#172033;
}

.site-footer section ul,
.footer-col ul{
	margin:0;
	padding:0;
	list-style:none;
	display:grid;
	gap:10px;
	line-height:1.45;
	font-size:.96rem;
}

.footer-col li{
	margin:0;
}

.footer-col__spacer{
	height: 10px;
}

.site-footer section a,
.site-footer small{
	color:#7a8192;
	transition:
		color .18s var(--ease-spring),
		transform .18s var(--ease-spring),
		opacity .18s var(--ease-spring);
}

.footer-col a{
	display:inline-flex;
	align-items:center;
	gap:8px;
}

.footer-col a:hover,
.footer-col a:focus-visible{
	color:#1d49d8;
	transform: translateX(2px);
	outline:none;
}

.footer-col a strong{
	color:#374151;
	font-weight:800;
	transition: color .18s var(--ease-spring);
}

.footer-col a:hover strong{
	color:#1d49d8;
}

.site-footer .footer-bottom{
	position: relative;
	z-index: 1;
	margin-top: 22px;
	padding-top: 16px;
	border-top: 1px solid rgba(15,31,51,.08);
}

.site-footer .footer-bottom small{
	display:block;
	font-size:.9rem;
	line-height:1.5;
	color:#8a91a3;
}

.site-footer .border{
	display:none;
}

/* old footer rules neutralized */
.site-footer footer,
.site-footer > div,
.site-footer section{
	padding:0;
}

.site-footer section img{
	margin-bottom:0;
	height:auto;
}

.site-footer section .contacts{
	margin:0;
	font-size:inherit;
}

/* responsive */
@media (max-width: 1080px){
	.site-footer .grid{
		grid-template-columns: repeat(2, minmax(220px,1fr));
	}
	.footer-brand{
		max-width:none;
	}
}

@media (max-width: 640px){
	.site-footer{
		padding: 22px 0 20px;
	}
	.site-footer .footer-shell{
		padding: 18px 18px 14px;
		border-radius: 22px;
	}
	.site-footer .grid{
		grid-template-columns: 1fr;
		row-gap: 18px;
	}
	.footer-brand__logo img{
		height: 4.8rem;
	}
	.footer-brand__text{
		font-size:.96rem;
	}
	.site-footer .footer-bottom{
		margin-top:18px;
		padding-top:14px;
	}
}






/* =========================================================
   SERVICE TEMPLATE — top shell / hero / nav / trust
   ========================================================= */

.service-top{
	padding: 18px 0 8px;
	background:
		radial-gradient(900px 360px at 0% 0%, rgba(47,109,246,.05), transparent 58%),
		linear-gradient(180deg, #fff 0%, #fbfcff 100%);
}

.service-breadcrumbs{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px;
	margin: 0 0 18px;
	font-size:.92rem;
	color:#7a8192;
}

.service-breadcrumbs a{
	color:#667085;
}

.service-breadcrumbs a:hover{
	color:#1d49d8;
}

.service-breadcrumbs__sep{
	color:#b3b9c6;
}

.service-hero{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(360px, 520px);
	gap:34px;
	align-items:center;
	padding: 10px 0 22px;
}

.service-hero__copy{
	max-width: 620px;
}

.service-hero__eyebrow{
	display:inline-flex;
	align-items:center;
	min-height:34px;
	padding:8px 13px;
	margin:0 0 14px;
	border-radius:999px;
	background:#f7faff;
	border:1px solid rgba(47,109,246,.12);
	color:#1d49d8;
	font-size:.8rem;
	font-weight:800;
	letter-spacing:.06em;
	text-transform:uppercase;
	box-shadow:0 8px 18px rgba(47,109,246,.08);
}

.service-hero h1{
	margin:0 0 12px;
	font-size:clamp(2.4rem, 4.2vw, 4rem);
	line-height:.95;
	letter-spacing:-.07em;
	max-width:10ch;
}

.service-hero__lead{
	margin:0 0 18px;
	font-size:1.08rem;
	line-height:1.6;
	color:#667085;
	max-width:54ch;
}

.service-hero__points{
	list-style:none;
	padding:0;
	margin:0 0 22px;
	display:grid;
	gap:10px;
}

.service-hero__points li{
	position:relative;
	padding-left:28px;
	font-size:1rem;
	line-height:1.45;
	color:#22304a;
}

.service-hero__points li::before{
	content:"";
	position:absolute;
	left:0;
	top:.35em;
	width:15px;
	height:15px;
	border-radius:50%;
	background:linear-gradient(135deg,#2f6df6,#173cc0);
	box-shadow:0 8px 18px rgba(47,109,246,.20);
}

.service-hero__actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
}

.service-hero__btn{
	min-height:auto;
	padding:.9rem 1.18rem;
	border-radius:16px;
}

.service-hero__media{
	position:relative;
	margin:0;
	min-height:430px;
	border-radius:28px;
	overflow:hidden;
	background:#ecf1f7;
	box-shadow:
		0 28px 60px rgba(15,31,51,.10),
		0 8px 22px rgba(15,31,51,.05);
	isolation:isolate;
}

.service-hero__media::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:1;
	background:
		radial-gradient(70% 60% at 0% 100%, rgba(255,255,255,.16), transparent 65%),
		linear-gradient(180deg, rgba(10,45,130,.02), rgba(10,45,130,.14));
	pointer-events:none;
}

.service-hero__media img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	transform:scale(1.01);
	transition:transform .75s var(--ease-spring);
}

.service-hero__media:hover img{
	transform:scale(1.04);
}

.service-hero__badge{
	position:absolute;
	z-index:2;
	display:flex;
	align-items:flex-start;
	gap:12px;
	max-width:270px;
	padding:14px 16px;
	border-radius:20px;
	background:rgba(255,255,255,.68);
	backdrop-filter:blur(16px) saturate(1.1);
	-webkit-backdrop-filter:blur(16px) saturate(1.1);
	border:1px solid rgba(255,255,255,.56);
	box-shadow:
		0 18px 38px rgba(15,31,51,.14),
		inset 0 1px 0 rgba(255,255,255,.56);
	animation: serviceBubbleFloat 6.5s ease-in-out infinite;
}

.service-hero__badge--top{
	top:16px;
	left:16px;
	animation-delay:.15s;
}

.service-hero__badge--bottom{
	right:16px;
	bottom:16px;
	animation-delay:.85s;
}

.service-hero__badge-icon{
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:2.3rem;
	height:2.3rem;
	border-radius:999px;
	background:linear-gradient(135deg,#2f6df6,#173cc0);
	color:#fff;
	box-shadow:0 10px 22px rgba(23,60,192,.20);
}

.service-hero__badge-copy strong{
	display:block;
	margin:0 0 4px;
	font-size:.94rem;
	line-height:1.2;
	color:#17348d;
}

.service-hero__badge-copy span{
	display:block;
	font-size:.9rem;
	line-height:1.42;
	color:#5f6777;
}

@keyframes serviceBubbleFloat{
	0%,100%{ transform:translateY(0); }
	50%{ transform:translateY(-5px); }
}

/* sticky section nav */
.section-nav--service{
	position:sticky;
	top:0;
	z-index:12;
	padding:10px 0 0;
	background:transparent;
	border:0;
}

.section-nav--service .container{
	padding-top:0;
	padding-bottom:0;
}

.section-nav--service ul{
	display:flex;
	flex-wrap:nowrap;
	overflow:auto;
	gap:10px;
	margin:0;
	padding:10px 0 0;
	list-style:none;
	scrollbar-width:none;
}

.section-nav--service ul::-webkit-scrollbar{
	display:none;
}

.section-nav--service a{
	display:inline-flex;
	align-items:center;
	min-height:40px;
	padding:10px 14px;
	border-radius:999px;
	background:rgba(255,255,255,.84);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
	border:1px solid rgba(15,31,51,.08);
	box-shadow:0 8px 20px rgba(15,31,51,.05);
	color:#667085;
	font-size:.94rem;
	font-weight:700;
	white-space:nowrap;
	transition:
		transform .18s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		border-color .18s var(--ease-spring),
		color .18s var(--ease-spring),
		background .18s var(--ease-spring);
}

.section-nav--service a:hover,
.section-nav--service a:focus-visible,
.section-nav--service a.is-active{
	transform:translateY(-1px);
	border-color:rgba(47,109,246,.18);
	box-shadow:0 14px 24px rgba(15,31,51,.08);
	background:#f8fbff;
	color:#1d49d8;
	outline:none;
}

.section-nav--service.is-stuck{
	background:
		linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.78));
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
	box-shadow:0 8px 20px rgba(15,31,51,.05);
}

/* trust */
.service-trust{
	padding: 18px 0 10px;
}

.service-trust__shell{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(280px, .9fr);
	gap:18px;
	align-items:center;
	padding:18px 20px;
	border-radius:24px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,251,255,.98));
	border:1px solid rgba(15,31,51,.08);
	box-shadow:
		0 20px 44px rgba(15,31,51,.06),
		0 8px 20px rgba(15,31,51,.04);
}

.service-trust__metrics{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
}

.service-metric{
	min-width:170px;
	padding:14px 16px;
	border-radius:18px;
	background:#fff;
	border:1px solid rgba(15,31,51,.08);
	box-shadow:0 10px 22px rgba(15,31,51,.05);
}

.service-metric--soft{
	background:#f8fbff;
}

.service-metric__label{
	margin-bottom:8px;
	font-size:.9rem;
	line-height:1.3;
	color:#8a91a3;
}

.service-metric strong{
	display:block;
	font-size:1.45rem;
	line-height:1;
	color:#172033;
}

.service-trust__title{
	margin:0 0 10px;
	font-size:.92rem;
	color:#667085;
}

.service-allies{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
}

.service-ally{
	min-height:72px;
	padding:12px;
	border-radius:18px;
	background:rgba(255,255,255,.84);
	border:1px solid rgba(15,31,51,.08);
	box-shadow:0 10px 22px rgba(15,31,51,.05);
	display:flex;
	align-items:center;
	justify-content:center;
}

.service-ally img{
	display:block;
	max-width:100%;
	max-height:28px;
	width:auto;
	height:auto;
	filter:grayscale(1) contrast(.95);
	opacity:.86;
	transition:filter .2s ease, opacity .2s ease, transform .2s ease;
}

.service-ally:hover img{
	filter:grayscale(0);
	opacity:1;
	transform:scale(1.03);
}

.service-ally__fallback{
	display:none;
	font-size:.9rem;
	font-weight:700;
	color:#17348d;
	text-align:center;
}

.service-ally.is-fallback .service-ally__fallback{
	display:inline-block;
}

/* responsive */
@media (max-width: 980px){
	.service-hero{
		grid-template-columns:1fr;
	}
	.service-hero h1{
		max-width:none;
	}
	.service-hero__media{
		min-height:360px;
	}
	.service-trust__shell{
		grid-template-columns:1fr;
	}
}

@media (max-width: 640px){
	.service-top{
		padding-top:12px;
	}
	.service-hero{
		gap:22px;
		padding-bottom:16px;
	}
	.service-hero__media{
		min-height:300px;
		border-radius:22px;
	}
	.service-hero__badge{
		max-width:220px;
		padding:12px 13px;
		border-radius:16px;
	}
	.service-trust__shell{
		padding:16px;
		border-radius:20px;
	}
	.service-allies{
		grid-template-columns:1fr;
	}
}





/* =========================================================
   SERVICE TEMPLATE — audience + coverages
   ========================================================= */

.service-section{
	padding: 16px 0 10px;
}

.service-section + .service-section{
	padding-top: 22px;
}

.service-section__head{
	margin: 0 0 16px;
}

.service-section__eyebrow{
	display:inline-flex;
	align-items:center;
	min-height:34px;
	padding:8px 13px;
	margin:0 0 12px;
	border-radius:999px;
	background:#f7faff;
	border:1px solid rgba(47,109,246,.12);
	color:#1d49d8;
	font-size:.8rem;
	font-weight:800;
	letter-spacing:.05em;
	text-transform:uppercase;
	box-shadow:0 8px 18px rgba(47,109,246,.08);
}

.service-section h2{
	margin:0;
	font-size:clamp(1.9rem, 3vw, 2.6rem);
	line-height:1;
	letter-spacing:-.05em;
}

.service-card{
	position:relative;
	padding:22px;
	border-radius:26px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,251,255,.98));
	border:1px solid rgba(15,31,51,.08);
	box-shadow:
		0 22px 48px rgba(15,31,51,.06),
		0 8px 20px rgba(15,31,51,.04);
	overflow:hidden;
	transition:
		transform .18s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		border-color .18s var(--ease-spring);
}

.service-card::before{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:
		linear-gradient(135deg, rgba(255,255,255,.32), transparent 36%),
		radial-gradient(540px 170px at 100% 0%, rgba(47,109,246,.05), transparent 56%);
}

.service-card:hover{
	transform:translateY(-2px);
	border-color:rgba(47,109,246,.18);
	box-shadow:
		0 28px 56px rgba(15,31,51,.08),
		0 10px 24px rgba(15,31,51,.05);
}

.service-card--soft{
	background:
		linear-gradient(180deg, rgba(255,255,255,.94), rgba(247,250,255,.98));
}

.service-card__intro{
	position:relative;
	z-index:1;
	display:grid;
	gap:6px;
	margin:0 0 16px;
}

.service-card__intro strong{
	font-size:1.03rem;
	line-height:1.35;
	color:#172033;
}

.service-card__intro span{
	color:#667085;
	line-height:1.55;
}

.audience-shell{
	display:grid;
	grid-template-columns:minmax(0,1.02fr) minmax(300px,.98fr);
	gap:18px;
	align-items:start;
}

.audience-cases{
	display:grid;
	grid-template-columns:1fr;
	gap:14px;
}

.service-case-card__kicker{
	position:relative;
	z-index:1;
	display:inline-flex;
	align-items:center;
	min-height:30px;
	padding:6px 10px;
	margin:0 0 10px;
	border-radius:999px;
	background:#f8fbff;
	border:1px solid rgba(47,109,246,.12);
	color:#1d49d8;
	font-size:.76rem;
	font-weight:800;
	letter-spacing:.02em;
}

.service-case-card h3{
	position:relative;
	z-index:1;
	margin:0 0 8px;
	font-size:1.2rem;
	line-height:1.15;
	letter-spacing:-.03em;
}

.service-case-card p{
	position:relative;
	z-index:1;
	margin:0;
	line-height:1.62;
	color:#667085;
}

.coverage-shell{
	display:grid;
	grid-template-columns:minmax(0,1.06fr) minmax(280px,.94fr);
	gap:18px;
	align-items:start;
}

.coverage-side__head{
	position:relative;
	z-index:1;
	margin:0 0 14px;
}

.coverage-side__eyebrow{
	display:inline-flex;
	align-items:center;
	min-height:30px;
	padding:6px 10px;
	margin:0 0 10px;
	border-radius:999px;
	background:#fff8fb;
	border:1px solid rgba(216,12,49,.10);
	color:#d80c31;
	font-size:.76rem;
	font-weight:800;
	letter-spacing:.02em;
}

.coverage-side h3,
.coverage-extra h3{
	position:relative;
	z-index:1;
	margin:0 0 10px;
	font-size:1.25rem;
	line-height:1.15;
	letter-spacing:-.03em;
}

.coverage-extra{
	position:relative;
	z-index:1;
	margin-top:18px;
	padding-top:16px;
	border-top:1px solid rgba(15,31,51,.08);
}

.service-checklist{
	position:relative;
	z-index:1;
	list-style:none;
	padding:0;
	margin:0;
	display:grid;
	gap:12px;
}

.service-checklist li{
	position:relative;
	padding-left:26px;
	line-height:1.62;
	color:#22304a;
}

.service-checklist li::before{
	content:"";
	position:absolute;
	left:0;
	top:.42em;
	width:14px;
	height:14px;
	border-radius:50%;
	background:linear-gradient(135deg,#2f6df6,#173cc0);
	box-shadow:0 8px 18px rgba(47,109,246,.18);
}

.service-checklist li strong{
	color:#172033;
}

.service-checklist--dense{
	gap:14px;
}

.service-checklist--soft li{
	color:#4b5565;
}

.service-checklist--danger li::before{
	background:linear-gradient(135deg,#d80c31,#ff6b88);
	box-shadow:0 8px 18px rgba(216,12,49,.16);
}

/* sticky nav stronger fix */
.section-nav--service{
	left:0;
	right:0;
	width:100%;
}

.section-nav--service .container{
	max-width:var(--container);
	margin:0 auto;
}

.section-nav--service.is-stuck{
	border-top:1px solid rgba(15,31,51,.05);
	border-bottom:1px solid rgba(15,31,51,.05);
}

/* responsive */
@media (max-width: 980px){
	.audience-shell,
	.coverage-shell{
		grid-template-columns:1fr;
	}
}

@media (max-width: 640px){
	.service-card{
		padding:18px;
		border-radius:22px;
	}
	.service-section{
		padding-top:12px;
	}
}





.section-nav--service{
	position: sticky;
	top: 0;
	z-index: 30;
	width: 100%;
}

.section-nav--service .container{
	max-width: var(--container);
	margin: 0 auto;
}

.section-nav--service ul{
	padding-left: 0;
	padding-right: 0;
}

.section-nav--service.is-stuck{
	background: rgba(255,255,255,.82);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-top: 1px solid rgba(15,31,51,.05);
	border-bottom: 1px solid rgba(15,31,51,.05);
	box-shadow: 0 10px 24px rgba(15,31,51,.06);
}





/* =========================================================
   SERVICE TEMPLATE — benefits / plans / flow
   ========================================================= */

.benefits-shell{
	display:grid;
	grid-template-columns:1fr;
	gap:18px;
}

.benefits-card{
	max-width: 880px;
}

/* plans */
.plan-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px;
}

.plan-card{
	position:relative;
	padding:22px;
	border-radius:26px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,251,255,.98));
	border:1px solid rgba(15,31,51,.08);
	box-shadow:
		0 22px 48px rgba(15,31,51,.06),
		0 8px 20px rgba(15,31,51,.04);
	overflow:hidden;
	transition:
		transform .18s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		border-color .18s var(--ease-spring);
}

.plan-card::before{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:
		linear-gradient(135deg, rgba(255,255,255,.32), transparent 36%),
		radial-gradient(540px 170px at 100% 0%, rgba(47,109,246,.05), transparent 56%);
}

.plan-card:hover{
	transform:translateY(-3px);
	border-color:rgba(47,109,246,.18);
	box-shadow:
		0 28px 56px rgba(15,31,51,.08),
		0 10px 24px rgba(15,31,51,.05);
}

.plan-card.is-popular{
	border-color:rgba(47,109,246,.22);
	box-shadow:
		0 28px 60px rgba(47,109,246,.10),
		0 10px 24px rgba(15,31,51,.05);
}

.plan-card__badge{
	position:relative;
	z-index:1;
	display:inline-flex;
	align-items:center;
	min-height:30px;
	padding:6px 10px;
	margin:0 0 12px;
	border-radius:999px;
	background:#f7faff;
	border:1px solid rgba(47,109,246,.12);
	color:#1d49d8;
	font-size:.76rem;
	font-weight:800;
	letter-spacing:.02em;
}

.plan-card__top{
	position:relative;
	z-index:1;
	display:grid;
	gap:10px;
	margin:0 0 14px;
}

.plan-card__top h3{
	margin:0;
	font-size:1.4rem;
	line-height:1.08;
	letter-spacing:-.04em;
	color:#172033;
}

.plan-card__price{
	display:grid;
	gap:4px;
}

.plan-card__price span{
	font-size:.86rem;
	color:#8a91a3;
}

.plan-card__price strong{
	font-size:1.3rem;
	line-height:1;
	color:#1d49d8;
}

.plan-card__disclaimer{
	position:relative;
	z-index:1;
	margin:16px 0 0;
	line-height:1.55;
	color:#667085;
}

.plan-card__footer{
	position:relative;
	z-index:1;
	margin-top:18px;
}

.plan-card__btn{
	border-radius:16px;
	min-height:auto;
	padding:.92rem 1.15rem;
}

/* flow */
.flow-shell{
	display:grid;
	grid-template-columns:minmax(0,1.02fr) minmax(300px,.98fr);
	gap:18px;
	align-items:start;
}

.flow-main{
	padding-bottom:20px;
}

.flow-steps{
	position:relative;
	z-index:1;
	list-style:none;
	padding:0;
	margin:0;
	display:grid;
	gap:14px;
}

.flow-step{
	display:grid;
	grid-template-columns:68px minmax(0,1fr);
	gap:14px;
	align-items:start;
	padding:14px;
	border-radius:20px;
	background:rgba(255,255,255,.78);
	border:1px solid rgba(15,31,51,.06);
	box-shadow:0 10px 24px rgba(15,31,51,.05);
	transition:
		transform .18s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		border-color .18s var(--ease-spring);
}

.flow-step:hover{
	transform:translateY(-2px);
	border-color:rgba(47,109,246,.18);
	box-shadow:0 18px 28px rgba(15,31,51,.08);
}

.flow-step__num{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:46px;
	padding:0 12px;
	border-radius:16px;
	background:linear-gradient(135deg,#2f6df6,#173cc0);
	color:#fff;
	font-weight:800;
	letter-spacing:.04em;
	box-shadow:0 14px 28px rgba(23,60,192,.20);
}

.flow-step__body strong{
	display:block;
	margin:2px 0 6px;
	font-size:1.04rem;
	color:#172033;
}

.flow-step__body p{
	margin:0;
	line-height:1.58;
	color:#667085;
}

.flow-side{
	display:grid;
	gap:14px;
}

.docs-card__eyebrow{
	position:relative;
	z-index:1;
	display:inline-flex;
	align-items:center;
	min-height:30px;
	padding:6px 10px;
	margin:0 0 10px;
	border-radius:999px;
	background:#f8fbff;
	border:1px solid rgba(47,109,246,.12);
	color:#1d49d8;
	font-size:.76rem;
	font-weight:800;
	letter-spacing:.02em;
}

.docs-card h3{
	position:relative;
	z-index:1;
	margin:0 0 12px;
	font-size:1.28rem;
	line-height:1.1;
	letter-spacing:-.03em;
}

@media (max-width: 1100px){
	.plan-grid{
		grid-template-columns:1fr;
	}
}

@media (max-width: 980px){
	.flow-shell{
		grid-template-columns:1fr;
	}
}

@media (max-width: 640px){
	.plan-card{
		padding:18px;
		border-radius:22px;
	}
	.flow-step{
		grid-template-columns:58px minmax(0,1fr);
	}
	.flow-step__num{
		min-height:42px;
		border-radius:14px;
	}
}



/* =========================================================
   SERVICE TEMPLATE — req/docs + stories
   ========================================================= */

.service-duo{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:18px;
	align-items:start;
}

.duo-card__eyebrow{
	position:relative;
	z-index:1;
	display:inline-flex;
	align-items:center;
	min-height:30px;
	padding:6px 10px;
	margin:0 0 10px;
	border-radius:999px;
	background:#f8fbff;
	border:1px solid rgba(47,109,246,.12);
	color:#1d49d8;
	font-size:.76rem;
	font-weight:800;
	letter-spacing:.02em;
}

.duo-card h3{
	position:relative;
	z-index:1;
	margin:0 0 14px;
	font-size:1.5rem;
	line-height:1.05;
	letter-spacing:-.04em;
	color:#172033;
}

/* stories */
.service-stories{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:18px;
}

.service-story{
	position:relative;
	padding:22px;
	border-radius:24px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,251,255,.98));
	border:1px solid rgba(15,31,51,.08);
	box-shadow:
		0 22px 48px rgba(15,31,51,.06),
		0 8px 20px rgba(15,31,51,.04);
	overflow:hidden;
	transition:
		transform .18s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		border-color .18s var(--ease-spring);
}

.service-story::before{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:
		linear-gradient(135deg, rgba(255,255,255,.32), transparent 36%),
		radial-gradient(460px 150px at 100% 0%, rgba(47,109,246,.05), transparent 56%);
}

.service-story:hover{
	transform:translateY(-2px);
	border-color:rgba(47,109,246,.18);
	box-shadow:
		0 28px 56px rgba(15,31,51,.08),
		0 10px 24px rgba(15,31,51,.05);
}

.service-story__quote{
	position:absolute;
	right:18px;
	top:10px;
	font-size:3.2rem;
	line-height:1;
	color:rgba(47,109,246,.12);
	font-weight:700;
	pointer-events:none;
}

.service-story__meta{
	position:relative;
	z-index:1;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px;
	margin:0 0 10px;
}

.service-story__meta strong{
	font-size:1.02rem;
	color:#172033;
}

.service-story__meta span{
	color:#667085;
}

.service-story p{
	position:relative;
	z-index:1;
	margin:0;
	line-height:1.68;
	color:#374151;
	font-size:1rem;
}

@media (max-width: 980px){
	.service-duo,
	.service-stories{
		grid-template-columns:1fr;
	}
}

@media (max-width: 640px){
	.service-story{
		padding:18px;
		border-radius:22px;
	}
	.duo-card h3{
		font-size:1.35rem;
	}
}



/* =========================================================
   SERVICE TEMPLATE — closing conversion area
   ========================================================= */

.service-closing{
	padding: 26px 0 64px;
	display:grid;
	gap:18px;
}

.closing-grid{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(320px,.96fr);
	gap:18px;
	align-items:start;
}

.closing-links h2,
.closing-related h2{
	position:relative;
	z-index:1;
	margin:0 0 14px;
	font-size:1.9rem;
	line-height:1.02;
	letter-spacing:-.045em;
	color:#172033;
}

.service-linklist{
	position:relative;
	z-index:1;
	display:grid;
	gap:12px;
}

.service-link-row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	min-height:60px;
	padding:14px 16px;
	border-radius:18px;
	background:rgba(255,255,255,.82);
	border:1px solid rgba(15,31,51,.08);
	box-shadow:0 10px 22px rgba(15,31,51,.05);
	color:#22304a;
	font-weight:600;
	transition:
		transform .18s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		border-color .18s var(--ease-spring),
		color .18s var(--ease-spring),
		background .18s var(--ease-spring);
}

.service-link-row:hover{
	transform:translateY(-2px);
	border-color:rgba(47,109,246,.18);
	box-shadow:0 18px 28px rgba(15,31,51,.08);
	background:#f8fbff;
	color:#1d49d8;
}

.related-grid{
	position:relative;
	z-index:1;
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
	gap:12px;
}

.related-tile{
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	gap:12px;
	min-height:118px;
	padding:16px;
	border-radius:20px;
	background:rgba(255,255,255,.84);
	border:1px solid rgba(15,31,51,.08);
	box-shadow:0 10px 22px rgba(15,31,51,.05);
	transition:
		transform .18s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		border-color .18s var(--ease-spring),
		background .18s var(--ease-spring);
}

.related-tile:hover{
	transform:translateY(-2px);
	border-color:rgba(47,109,246,.18);
	box-shadow:0 18px 28px rgba(15,31,51,.08);
	background:#f8fbff;
}

.related-tile__eyebrow{
	font-size:.76rem;
	font-weight:800;
	letter-spacing:.02em;
	color:#8a91a3;
	text-transform:uppercase;
}

.related-tile strong{
	font-size:1.08rem;
	line-height:1.2;
	color:#172033;
}

.related-tile__arrow{
	font-size:1.1rem;
	color:#1d49d8;
}

/* festive CTA banner */
.closing-cta{
	position:relative;
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:18px;
	align-items:center;
	padding:28px;
	border-radius:30px;
	background:
		radial-gradient(140% 140% at 12% -10%, rgba(255,255,255,.42) 0%, rgba(255,255,255,0) 42%),
		radial-gradient(110% 120% at 100% 100%, rgba(23,60,192,.36) 0%, rgba(23,60,192,0) 56%),
		linear-gradient(135deg, #2f6df6 0%, #173cc0 76%);
	color:#fff;
	box-shadow:
		0 30px 60px rgba(23,60,192,.24),
		0 10px 24px rgba(15,31,51,.08);
	overflow:hidden;
}

.closing-cta::before{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:
		linear-gradient(135deg, rgba(255,255,255,.18), transparent 28%),
		radial-gradient(420px 160px at 100% 0%, rgba(255,255,255,.12), transparent 58%);
}

.closing-cta__copy{
	position:relative;
	z-index:1;
	max-width:760px;
}

.closing-cta__badge{
	display:inline-flex;
	align-items:center;
	min-height:34px;
	padding:8px 14px;
	margin:0 0 14px;
	border-radius:999px;
	background:rgba(255,255,255,.16);
	border:1px solid rgba(255,255,255,.24);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	font-size:.8rem;
	font-weight:800;
	letter-spacing:.02em;
}

.closing-cta h2{
	margin:0 0 10px;
	font-size:clamp(2rem, 4vw, 3rem);
	line-height:.96;
	letter-spacing:-.06em;
	color:#fff;
}

.closing-cta p{
	margin:0;
	max-width:56ch;
	line-height:1.65;
	color:rgba(255,255,255,.88);
	font-size:1.02rem;
}

.closing-cta__actions{
	position:relative;
	z-index:1;
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	align-items:center;
	justify-content:flex-end;
}

.closing-cta__btn{
	min-height:auto;
	padding:.92rem 1.18rem;
	border-radius:16px;
}

.closing-cta__btn--primary{
	background:#fff;
	color:#17348d;
	box-shadow:
		0 16px 34px rgba(15,31,51,.16),
		inset 0 1px 0 rgba(255,255,255,.65);
}

.closing-cta__btn--primary:hover{
	background:#fff;
	color:#17348d;
}

.closing-cta__btn--ghost{
	border-color:rgba(255,255,255,.28);
	background:rgba(255,255,255,.10);
	color:#fff;
	box-shadow:none;
}

.closing-cta__btn--ghost:hover{
	background:rgba(255,255,255,.18);
	color:#fff;
	border-color:rgba(255,255,255,.34);
}

/* service form refinements */
.contacto--service{
	margin:0;
}

.contacto--service .contacto__shell{
	background:
		radial-gradient(760px 220px at 0% 0%, rgba(47,109,246,.06), transparent 56%),
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,251,255,.98));
}

.closing-form__quick{
	display:inline-flex;
	align-items:center;
	gap:10px;
	min-height:52px;
	padding:12px 14px;
	border-radius:16px;
	background:rgba(255,255,255,.76);
	border:1px solid rgba(15,31,51,.08);
	box-shadow:0 8px 22px rgba(15,31,51,.05);
	color:#5f6777;
	font-weight:700;
	transition:
		transform .18s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		border-color .18s var(--ease-spring),
		color .18s var(--ease-spring);
}

.closing-form__quick:hover{
	transform:translateY(-1px);
	border-color:rgba(47,109,246,.18);
	box-shadow:0 16px 28px rgba(15,31,51,.08);
	color:#1d49d8;
}

@media (max-width: 980px){
	.closing-grid,
	.closing-cta{
		grid-template-columns:1fr;
	}
	.closing-cta__actions{
		justify-content:flex-start;
	}
}

@media (max-width: 640px){
	.service-closing{
		padding-top:18px;
		padding-bottom:54px;
	}
	.closing-cta{
		padding:20px;
		border-radius:24px;
	}
	.closing-links h2,
	.closing-related h2{
		font-size:1.55rem;
	}
}



/* =========================================================
   ABOUT / CONTACT PAGE — pass 1
   hero + nav + sobre + confianza + equipo
   ========================================================= */

.about-top{
	padding: 18px 0 10px;
	background:
		radial-gradient(900px 360px at 0% 0%, rgba(47,109,246,.05), transparent 58%),
		linear-gradient(180deg, #fff 0%, #fbfcff 100%);
}

.about-hero{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);
	gap:28px;
	align-items:center;
	padding: 18px 0 24px;
}

.about-hero__copy{
	max-width:680px;
}

.about-hero__eyebrow{
	display:inline-flex;
	align-items:center;
	min-height:34px;
	padding:8px 13px;
	margin:0 0 14px;
	border-radius:999px;
	background:#f7faff;
	border:1px solid rgba(47,109,246,.12);
	color:#1d49d8;
	font-size:.8rem;
	font-weight:800;
	letter-spacing:.05em;
	text-transform:uppercase;
	box-shadow:0 8px 18px rgba(47,109,246,.08);
}

.about-hero h1{
	margin:0 0 12px;
	font-size:clamp(2.5rem, 4.8vw, 4.2rem);
	line-height:.95;
	letter-spacing:-.075em;
	max-width:10.5ch;
}

.about-hero__lead{
	margin:0 0 18px;
	font-size:1.08rem;
	line-height:1.65;
	color:#667085;
	max-width:56ch;
}

.about-hero__actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
}

.about-hero__btn{
	min-height:auto;
	padding:.92rem 1.16rem;
	border-radius:16px;
}

.about-hero-card{
	position:relative;
	padding:22px;
	border-radius:28px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,251,255,.98));
	border:1px solid rgba(15,31,51,.08);
	box-shadow:
		0 24px 52px rgba(15,31,51,.07),
		0 8px 20px rgba(15,31,51,.04);
	overflow:hidden;
}

.about-hero-card::before{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:
		linear-gradient(135deg, rgba(255,255,255,.32), transparent 36%),
		radial-gradient(500px 170px at 100% 0%, rgba(47,109,246,.05), transparent 56%);
}

.about-hero-card__eyebrow{
	position:relative;
	z-index:1;
	display:inline-flex;
	align-items:center;
	min-height:30px;
	padding:6px 10px;
	margin:0 0 14px;
	border-radius:999px;
	background:#f8fbff;
	border:1px solid rgba(47,109,246,.12);
	color:#1d49d8;
	font-size:.76rem;
	font-weight:800;
	letter-spacing:.02em;
}

.about-hero-card__list{
	position:relative;
	z-index:1;
	list-style:none;
	padding:0;
	margin:0;
	display:grid;
	gap:12px;
}

.about-hero-card__list li{
	position:relative;
	padding-left:26px;
	line-height:1.58;
	color:#22304a;
}

.about-hero-card__list li::before{
	content:"";
	position:absolute;
	left:0;
	top:.42em;
	width:14px;
	height:14px;
	border-radius:50%;
	background:linear-gradient(135deg,#2f6df6,#173cc0);
	box-shadow:0 8px 18px rgba(47,109,246,.18);
}

.about-hero-card__footer{
	position:relative;
	z-index:1;
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:18px;
	padding-top:16px;
	border-top:1px solid rgba(15,31,51,.08);
	color:#667085;
	font-weight:700;
}

/* sticky nav */
.about-nav{
	position:sticky;
	top:0;
	z-index:24;
	padding:10px 0 0;
	background:transparent;
	border:0;
}

.about-nav .container{
	max-width:var(--container);
	margin:0 auto;
}

.about-nav ul{
	display:flex;
	flex-wrap:nowrap;
	overflow:auto;
	gap:10px;
	margin:0;
	padding:10px 0 0;
	list-style:none;
	scrollbar-width:none;
}

.about-nav ul::-webkit-scrollbar{
	display:none;
}

.about-nav a{
	display:inline-flex;
	align-items:center;
	min-height:40px;
	padding:10px 14px;
	border-radius:999px;
	background:rgba(255,255,255,.84);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
	border:1px solid rgba(15,31,51,.08);
	box-shadow:0 8px 20px rgba(15,31,51,.05);
	color:#667085;
	font-size:.94rem;
	font-weight:700;
	white-space:nowrap;
	transition:
		transform .18s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		border-color .18s var(--ease-spring),
		color .18s var(--ease-spring),
		background .18s var(--ease-spring);
}

.about-nav a:hover,
.about-nav a:focus-visible,
.about-nav a.is-active{
	transform:translateY(-1px);
	border-color:rgba(47,109,246,.18);
	box-shadow:0 14px 24px rgba(15,31,51,.08);
	background:#f8fbff;
	color:#1d49d8;
	outline:none;
}

.about-nav.is-stuck{
	background:rgba(255,255,255,.82);
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
	border-top:1px solid rgba(15,31,51,.05);
	border-bottom:1px solid rgba(15,31,51,.05);
	box-shadow:0 10px 24px rgba(15,31,51,.06);
}

/* sections */
.about-section{
	padding: 18px 0 10px;
}

.about-section__head{
	margin:0 0 16px;
}

.about-section__eyebrow{
	display:inline-flex;
	align-items:center;
	min-height:34px;
	padding:8px 13px;
	margin:0 0 12px;
	border-radius:999px;
	background:#f7faff;
	border:1px solid rgba(47,109,246,.12);
	color:#1d49d8;
	font-size:.8rem;
	font-weight:800;
	letter-spacing:.05em;
	text-transform:uppercase;
	box-shadow:0 8px 18px rgba(47,109,246,.08);
}

.about-section h2{
	margin:0;
	font-size:clamp(1.9rem, 3vw, 2.6rem);
	line-height:1;
	letter-spacing:-.05em;
}

.about-section__lead{
	margin:10px 0 0;
	max-width:54ch;
	font-size:1rem;
	line-height:1.6;
	color:#667085;
}

/* surfaces */
.about-surface{
	position:relative;
	padding:22px;
	border-radius:28px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,251,255,.98));
	border:1px solid rgba(15,31,51,.08);
	box-shadow:
		0 24px 52px rgba(15,31,51,.07),
		0 8px 20px rgba(15,31,51,.04);
	overflow:hidden;
}

.about-surface::before{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:
		linear-gradient(135deg, rgba(255,255,255,.32), transparent 36%),
		radial-gradient(500px 170px at 100% 0%, rgba(47,109,246,.05), transparent 56%);
}

.about-story{
	display:grid;
	grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);
	gap:18px;
	align-items:start;
}

.about-story__lead{
	position:relative;
	z-index:1;
	margin:0 0 18px;
	font-size:1.03rem;
	line-height:1.7;
	color:#4b5565;
}

.about-story__blocks{
	position:relative;
	z-index:1;
	display:grid;
	gap:16px;
}

.about-story__block h3,
.about-side__eyebrow + h3{
	margin:0 0 8px;
	font-size:1.3rem;
	line-height:1.1;
	letter-spacing:-.03em;
	color:#172033;
}

.about-story__block p{
	margin:0;
	line-height:1.65;
	color:#667085;
}

.about-side__eyebrow{
	position:relative;
	z-index:1;
	display:inline-flex;
	align-items:center;
	min-height:30px;
	padding:6px 10px;
	margin:0 0 10px;
	border-radius:999px;
	background:#f8fbff;
	border:1px solid rgba(47,109,246,.12);
	color:#1d49d8;
	font-size:.76rem;
	font-weight:800;
	letter-spacing:.02em;
}

.about-story__side{
	display:grid;
	gap:14px;
}

.about-checklist{
	position:relative;
	z-index:1;
	list-style:none;
	padding:0;
	margin:0;
	display:grid;
	gap:12px;
}

.about-checklist li{
	position:relative;
	padding-left:26px;
	line-height:1.58;
	color:#22304a;
}

.about-checklist li::before{
	content:"";
	position:absolute;
	left:0;
	top:.42em;
	width:14px;
	height:14px;
	border-radius:50%;
	background:linear-gradient(135deg,#2f6df6,#173cc0);
	box-shadow:0 8px 18px rgba(47,109,246,.18);
}

.about-kpis{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
}

.about-kpi{
	padding:16px;
	border-radius:20px;
	background:#fff;
	border:1px solid rgba(15,31,51,.08);
	box-shadow:0 10px 22px rgba(15,31,51,.05);
}

.about-kpi__label{
	margin-bottom:8px;
	font-size:.9rem;
	color:#8a91a3;
}

.about-kpi strong{
	display:block;
	font-size:1.45rem;
	line-height:1;
	color:#172033;
}

.about-wide-media{
	margin:18px 0 0;
	border-radius:28px;
	overflow:hidden;
	box-shadow:
		0 24px 52px rgba(15,31,51,.07),
		0 8px 20px rgba(15,31,51,.04);
}

.about-wide-media img{
	display:block;
	width:100%;
	height:auto;
}

/* trust */
.about-trust{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(320px,.94fr);
	gap:18px;
	align-items:center;
}

.about-trust__sbs{
	position:relative;
	z-index:1;
	margin:0 0 10px;
	color:#667085;
}

.about-trust__copy p{
	position:relative;
	z-index:1;
	margin:0 0 16px;
	line-height:1.65;
	color:#4b5565;
}

.about-trust__logos{
	position:relative;
	z-index:1;
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:12px;
}

.about-ally{
	min-height:78px;
	padding:14px;
	border-radius:18px;
	background:rgba(255,255,255,.82);
	border:1px solid rgba(15,31,51,.08);
	box-shadow:0 10px 22px rgba(15,31,51,.05);
	display:flex;
	align-items:center;
	justify-content:center;
}

.about-ally img{
	display:block;
	max-width:100%;
	max-height:30px;
	width:auto;
	height:auto;
	filter:grayscale(1) contrast(.95);
	opacity:.88;
	transition:filter .2s ease, opacity .2s ease, transform .2s ease;
}

.about-ally:hover img{
	filter:grayscale(0);
	opacity:1;
	transform:scale(1.03);
}

.about-ally__fallback{
	display:none;
	font-size:.92rem;
	font-weight:700;
	color:#17348d;
	text-align:center;
}

.about-ally.is-fallback .about-ally__fallback{
	display:inline-block;
}

/* team */
.about-team{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
	gap:18px;
}

.about-member{
	position:relative;
	display:grid;
	grid-template-columns:120px minmax(0,1fr);
	gap:18px;
	padding:22px;
	border-radius:28px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,251,255,.98));
	border:1px solid rgba(15,31,51,.08);
	box-shadow:
		0 24px 52px rgba(15,31,51,.07),
		0 8px 20px rgba(15,31,51,.04);
	overflow:hidden;
	transition:
		transform .18s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		border-color .18s var(--ease-spring);
}

.about-member::before{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:
		linear-gradient(135deg, rgba(255,255,255,.32), transparent 36%),
		radial-gradient(500px 170px at 100% 0%, rgba(47,109,246,.05), transparent 56%);
}

.about-member:hover{
	transform:translateY(-2px);
	border-color:rgba(47,109,246,.18);
	box-shadow:
		0 28px 56px rgba(15,31,51,.08),
		0 10px 24px rgba(15,31,51,.05);
}

.about-member__media,
.about-member__body{
	position:relative;
	z-index:1;
}

.about-member__media{
	width:120px;
}

.about-member__media img,
.about-member__placeholder{
	display:block;
	width:120px;
	height:120px;
	border-radius:22px;
	object-fit:cover;
	background:#eef3fb;
}

.about-member__placeholder{
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:2rem;
	font-weight:800;
	color:#1d49d8;
}

.about-member__body h3{
	margin:2px 0 6px;
	font-size:1.45rem;
	line-height:1.05;
	letter-spacing:-.04em;
	color:#172033;
}

.about-member__role{
	margin:0 0 10px;
	color:#667085;
	font-weight:700;
}

.about-member__body p{
	margin:0;
	line-height:1.62;
	color:#4b5565;
}

.about-member__actions{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:16px;
}

.about-member__btn{
	min-height:auto;
	padding:.88rem 1.08rem;
	border-radius:16px;
}

/* responsive */
@media (max-width: 980px){
	.about-hero,
	.about-story,
	.about-trust{
		grid-template-columns:1fr;
	}
	.about-hero h1{
		max-width:none;
	}
}

@media (max-width: 720px){
	.about-member{
		grid-template-columns:1fr;
	}
	.about-member__media{
		width:100%;
	}
	.about-member__media img,
	.about-member__placeholder{
		width:100%;
		height:auto;
		aspect-ratio:1/1;
	}
	.about-kpis,
	.about-trust__logos{
		grid-template-columns:1fr;
	}
}

@media (max-width: 640px){
	.about-top{
		padding-top:12px;
	}
	.about-hero{
		gap:22px;
		padding-bottom:16px;
	}
	.about-surface,
	.about-member{
		padding:18px;
		border-radius:22px;
	}
	.about-wide-media{
		border-radius:22px;
	}
}


/* =========================================================
   ABOUT / CONTACT PAGE — pass 2
   cobertura + contacto + faq
   ========================================================= */

.coverage-hub{
	display:grid;
	grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);
	gap:18px;
	align-items:stretch;
}

.coverage-hub__copy{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}

.coverage-hub__eyebrow{
	position:relative;
	z-index:1;
	display:inline-flex;
	align-items:center;
	min-height:30px;
	padding:6px 10px;
	margin:0 0 12px;
	border-radius:999px;
	background:#f8fbff;
	border:1px solid rgba(47,109,246,.12);
	color:#1d49d8;
	font-size:.76rem;
	font-weight:800;
	letter-spacing:.02em;
	width:max-content;
}

.coverage-hub__chips{
	position:relative;
	z-index:1;
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:18px;
	padding-top:16px;
	border-top:1px solid rgba(15,31,51,.08);
}

.coverage-hub__chips span{
	display:inline-flex;
	align-items:center;
	min-height:38px;
	padding:9px 13px;
	border-radius:999px;
	background:#fff;
	border:1px solid rgba(15,31,51,.08);
	box-shadow:0 8px 18px rgba(15,31,51,.05);
	color:#667085;
	font-weight:700;
}

.coverage-map{
	position:relative;
	min-height:420px;
	border-radius:28px;
	overflow:hidden;
	box-shadow:
		0 24px 52px rgba(15,31,51,.07),
		0 8px 20px rgba(15,31,51,.04);
}

.coverage-map iframe{
	display:block;
	width:100%;
	height:100%;
	min-height:420px;
	border:0;
}

/* contact hub */
.contact-hub{
	display:grid;
	grid-template-columns:minmax(320px,.98fr) minmax(0,1.02fr);
	gap:18px;
	align-items:start;
}

.contact-hub__left{
	display:grid;
	gap:18px;
}

.contact-locations{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:18px;
}

.contact-location{
	position:relative;
	padding:22px;
	border-radius:28px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,251,255,.98));
	border:1px solid rgba(15,31,51,.08);
	box-shadow:
		0 24px 52px rgba(15,31,51,.07),
		0 8px 20px rgba(15,31,51,.04);
	overflow:hidden;
	transition:
		transform .18s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		border-color .18s var(--ease-spring);
}

.contact-location::before{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:
		linear-gradient(135deg, rgba(255,255,255,.32), transparent 36%),
		radial-gradient(500px 170px at 100% 0%, rgba(47,109,246,.05), transparent 56%);
}

.contact-location:hover{
	transform:translateY(-2px);
	border-color:rgba(47,109,246,.18);
	box-shadow:
		0 28px 56px rgba(15,31,51,.08),
		0 10px 24px rgba(15,31,51,.05);
}

.contact-location__eyebrow{
	position:relative;
	z-index:1;
	display:inline-flex;
	align-items:center;
	min-height:30px;
	padding:6px 10px;
	margin:0 0 10px;
	border-radius:999px;
	background:#f8fbff;
	border:1px solid rgba(47,109,246,.12);
	color:#1d49d8;
	font-size:.76rem;
	font-weight:800;
	letter-spacing:.02em;
}

.contact-location h3{
	position:relative;
	z-index:1;
	margin:0 0 10px;
	font-size:1.35rem;
	line-height:1.1;
	letter-spacing:-.03em;
	color:#172033;
}

.contact-location__address{
	position:relative;
	z-index:1;
	margin:0 0 12px;
	line-height:1.6;
	color:#4b5565;
}

.contact-location__meta{
	position:relative;
	z-index:1;
	display:grid;
	gap:8px;
	margin:0 0 16px;
	color:#667085;
}

.contact-location__meta a{
	color:#667085;
}

.contact-location__meta a:hover{
	color:#1d49d8;
}

.contact-location__btn{
	border-radius:16px;
	min-height:auto;
	padding:.9rem 1.12rem;
}

.contact-hours h3{
	position:relative;
	z-index:1;
	margin:0 0 12px;
	font-size:1.45rem;
	line-height:1.08;
	letter-spacing:-.03em;
}

.contact-hours__eyebrow{
	position:relative;
	z-index:1;
	display:inline-flex;
	align-items:center;
	min-height:30px;
	padding:6px 10px;
	margin:0 0 10px;
	border-radius:999px;
	background:#f8fbff;
	border:1px solid rgba(47,109,246,.12);
	color:#1d49d8;
	font-size:.76rem;
	font-weight:800;
	letter-spacing:.02em;
}

/* about form wrapper */
.contacto--about{
	margin:0;
}

.contacto--about .contacto__shell{
	background:
		radial-gradient(760px 220px at 0% 0%, rgba(47,109,246,.06), transparent 56%),
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,251,255,.98));
}

/* faq */
.about-faq-list{
	display:grid;
	gap:12px;
}

.about-faq-item{
	position:relative;
	border-radius:24px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,251,255,.98));
	border:1px solid rgba(15,31,51,.08);
	box-shadow:
		0 20px 44px rgba(15,31,51,.06),
		0 8px 20px rgba(15,31,51,.04);
	overflow:hidden;
	transition:
		transform .18s var(--ease-spring),
		box-shadow .18s var(--ease-spring),
		border-color .18s var(--ease-spring);
}

.about-faq-item:hover{
	transform:translateY(-1px);
	border-color:rgba(47,109,246,.18);
	box-shadow:
		0 26px 50px rgba(15,31,51,.08),
		0 10px 24px rgba(15,31,51,.05);
}

.about-faq-item summary{
	list-style:none;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	padding:18px 20px;
	font-weight:700;
	color:#172033;
}

.about-faq-item summary::-webkit-details-marker{
	display:none;
}

.about-faq-item__icon{
	position:relative;
	flex:0 0 auto;
	width:2.15rem;
	height:2.15rem;
	border-radius:999px;
	background:#f7faff;
	border:1px solid rgba(47,109,246,.12);
	box-shadow:0 8px 16px rgba(47,109,246,.08);
	transition:
		transform .24s var(--ease-spring),
		background .18s var(--ease-spring),
		border-color .18s var(--ease-spring);
}

.about-faq-item__icon::before,
.about-faq-item__icon::after{
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	background:#2f6df6;
	border-radius:999px;
	transform:translate(-50%, -50%);
	transition:transform .24s var(--ease-spring), opacity .18s ease;
}

.about-faq-item__icon::before{
	width:12px;
	height:2px;
}

.about-faq-item__icon::after{
	width:2px;
	height:12px;
}

.about-faq-item[open] .about-faq-item__icon{
	transform:rotate(180deg);
	background:#eef4ff;
	border-color:rgba(47,109,246,.20);
}

.about-faq-item[open] .about-faq-item__icon::after{
	opacity:0;
	transform:translate(-50%, -50%) scaleY(.4);
}

.about-faq-item__content{
	display:grid;
	grid-template-rows:0fr;
	transition:grid-template-rows .34s var(--ease-spring), opacity .28s ease;
	opacity:.92;
}

.about-faq-item[open] .about-faq-item__content{
	grid-template-rows:1fr;
	opacity:1;
}

.about-faq-item__inner{
	overflow:hidden;
}

.about-faq-item__inner p{
	margin:0;
	padding:0 20px 20px;
	line-height:1.68;
	color:#667085;
	transform:translateY(-4px);
	opacity:0;
	transition:transform .28s var(--ease-spring), opacity .24s ease;
}

.about-faq-item[open] .about-faq-item__inner p{
	transform:translateY(0);
	opacity:1;
}

/* responsive */
@media (max-width: 980px){
	.coverage-hub,
	.contact-hub{
		grid-template-columns:1fr;
	}
	.contact-locations{
		grid-template-columns:1fr;
	}
}

@media (max-width: 640px){
	.coverage-map{
		min-height:320px;
		border-radius:22px;
	}
	.coverage-map iframe{
		min-height:320px;
	}
	.contact-location{
		padding:18px;
		border-radius:22px;
	}
	.about-faq-item{
		border-radius:22px;
	}
	.about-faq-item summary{
		padding:16px 16px;
	}
	.about-faq-item__inner p{
		padding:0 16px 16px;
	}
}