.cax--faq .cax-section { position: relative; padding: clamp(52px, 5.5vw, 80px) 0; }
.cax--faq .cax-section--alt { background: var(--bg-2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cax--faq .cax-h2 {
	font-size: clamp(1.75rem, 3.1vw, 2.5rem);
	font-weight: 800;
	font-stretch: 118%;
	line-height: 1.08;
	letter-spacing: -0.015em;
	color: #fff;
}

@media (prefers-reduced-motion: reduce) {
	.cax--faq *, .cax--faq *::before, .cax--faq *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
.cax--faq .cax-faq__grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.cax--faq .cax-kicker { display: block; margin-bottom: 6px; font-size: .98rem; font-weight: 650; color: var(--orange); }
.cax--faq .cax-faq__intro { margin-top: 12px; max-width: 38ch; font-size: 1.02rem; color: var(--muted); }
.cax--faq .cax-faq__map { margin-top: 26px; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255, 255, 255, .02); }
.cax--faq .cax-faq__map-title { margin-bottom: 12px; font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.cax--faq .cax-faq__node { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255, 255, 255, .03); transition: transform .35s cubic-bezier(.2,.8,.2,1), border-color .3s ease, background-color .3s ease; }
.cax--faq .cax-faq__node b { display: block; font-size: .95rem; font-weight: 700; line-height: 1.3; color: #fff; }
.cax--faq .cax-faq__node small { display: block; font-size: .82rem; line-height: 1.4; color: var(--muted); }
.cax--faq .cax-faq__ic { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 10px; background: rgba(var(--c-rgb), .14); color: var(--c); transition: transform .4s cubic-bezier(.2,.8,.2,1), background-color .3s ease, color .3s ease; }
.cax--faq .cax-faq__ic svg { width: 18px; height: 18px; }
.cax--faq .cax-faq__node--root { --c: #fff; --c-rgb: 255, 255, 255; border-color: var(--line-2); background: linear-gradient(120deg, rgba(252, 90, 3, .1), rgba(21, 87, 201, .14)); }
.cax--faq .cax-faq__units { position: relative; margin: 10px 0 0 30px; padding-left: 22px; }
.cax--faq .cax-faq__units li { position: relative; }
.cax--faq .cax-faq__units li + li { margin-top: 10px; }
.cax--faq .cax-faq__units li::before { content: ""; position: absolute; left: -22px; top: 50%; width: 22px; height: 2px; background: var(--line-2); }
.cax--faq .cax-faq__units li::after { content: ""; position: absolute; left: -22px; top: -10px; bottom: 0; width: 2px; background: var(--line-2); }
.cax--faq .cax-faq__units li:last-child::after { bottom: auto; height: calc(50% + 11px); }
.cax--faq .cax-faq__node--dsl { --c: var(--orange); --c-rgb: 252, 90, 3; }
.cax--faq .cax-faq__node--cx { --c: var(--blue-2); --c-rgb: 111, 164, 255; }
.cax--faq .cax-faq__node:hover { transform: translateX(4px); border-color: rgba(var(--c-rgb), .45); background: rgba(var(--c-rgb), .07); }
.cax--faq .cax-faq__node:hover .cax-faq__ic { transform: rotate(-8deg) scale(1.08); background: var(--c); color: var(--bg); }
.cax--faq .cax-faq__node--root:hover { background: linear-gradient(120deg, rgba(252, 90, 3, .16), rgba(21, 87, 201, .2)); }
.cax--faq .cax-faq__cta { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 12px; padding: 14px 14px 14px 16px; border: 1px solid rgba(252, 90, 3, .3); border-radius: 14px; background: rgba(252, 90, 3, .06); }
.cax--faq .cax-faq__cta.has-mascot { flex-direction: column; align-items: flex-start; gap: 10px; margin-top: 72px; padding-right: 196px; }
.cax--faq .cax-faq__mascot { position: absolute; right: 4px; bottom: 0; z-index: 1; width: 200px; pointer-events: none; translate: 0 5%; transform-origin: 46% 95%; animation: cax-faq-idle 3.4s ease-in-out infinite; transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.cax--faq .cax-faq__cta:hover .cax-faq__mascot { transform: scale(1.05); }
@keyframes cax-faq-idle { 0%, 100% { rotate: -2deg; scale: 1 1; } 50% { rotate: 2deg; scale: 1 1.025; } }
.cax--faq .cax-faq__cta b { display: block; font-size: .98rem; font-weight: 700; color: #fff; }
.cax--faq .cax-faq__cta small { display: block; font-size: .84rem; line-height: 1.4; color: var(--muted); }
.cax--faq a.cax-faq__btn { display: inline-flex; align-items: center; gap: 6px; flex: none; padding: 9px 16px; border-radius: 999px; background: var(--orange); font-size: .9rem; font-weight: 650; color: #fff; text-decoration: none; white-space: nowrap; transition: background-color .25s ease; }
.cax--faq a.cax-faq__btn svg { width: 15px; height: 15px; transition: transform .3s ease; }
.cax--faq a.cax-faq__btn:hover { background: #E35102; color: #fff; }
.cax--faq a.cax-faq__btn:hover svg { transform: translateX(3px); }
.cax--faq .cax-faq__list { display: grid; gap: 8px; }
.cax--faq .cax-faq__item { border: 1px solid var(--line); border-radius: 14px; background: rgba(255, 255, 255, .025); transition: border-color .3s ease, background-color .3s ease; }
.cax--faq .cax-faq__item:hover { border-color: var(--line-2); background: rgba(255, 255, 255, .04); }
.cax--faq .cax-faq__item[open] { border-color: rgba(252, 90, 3, .4); background: rgba(252, 90, 3, .05); }
.cax--faq .cax-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px 14px 18px; list-style: none; cursor: pointer; }
.cax--faq .cax-faq__item summary::-webkit-details-marker { display: none; }
.cax--faq .cax-faq__item summary::marker { content: ""; }
.cax--faq .cax-faq__item h3 { font-size: 1rem; font-weight: 660; line-height: 1.4; transition: color .25s ease; }
.cax--faq .cax-faq__item:hover h3 { color: #fff; }
.cax--faq .cax-faq__icon { position: relative; flex: none; width: 28px; height: 28px; border-radius: 50%; background: rgba(255, 255, 255, .07); transition: background-color .3s ease, transform .4s cubic-bezier(.2,.8,.2,1); }
.cax--faq .cax-faq__icon::before, .cax--faq .cax-faq__icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 2px; border-radius: 2px; background: #fff; translate: -50% -50%; }
.cax--faq .cax-faq__icon::after { rotate: 90deg; transition: rotate .4s cubic-bezier(.2,.8,.2,1); }
.cax--faq .cax-faq__item:hover .cax-faq__icon { background: rgba(255, 255, 255, .12); }
.cax--faq .cax-faq__item[open] .cax-faq__icon { background: var(--orange); transform: rotate(180deg); }
.cax--faq .cax-faq__item[open] .cax-faq__icon::after { rotate: 0deg; }
.cax--faq .cax-faq__item::details-content { block-size: 0; overflow: hidden; transition: block-size .35s cubic-bezier(.2,.8,.2,1), content-visibility .35s allow-discrete; }
.cax--faq .cax-faq__item[open]::details-content { block-size: auto; }
.cax--faq .cax-faq__a { padding: 0 54px 16px 18px; font-size: .96rem; line-height: 1.65; color: var(--soft); }
.cax--faq .cax-faq__item[open] .cax-faq__a { animation: cax-faq-in .4s ease; }
@keyframes cax-faq-in { from { opacity: 0; translate: 0 8px; } }
@media (max-width: 960px) {
	.cax--faq .cax-faq__grid { grid-template-columns: minmax(0, 1fr); }
	.cax--faq .cax-faq__side { display: contents; }
	.cax--faq .cax-faq__list { order: 1; }
	.cax--faq .cax-faq__extra { order: 2; }
	.cax--faq .cax-faq__map { margin-top: 0; }
	.cax--faq .cax-faq__cta { margin-top: -8px; }
	.cax--faq .cax-faq__cta.has-mascot { margin-top: 58px; padding-left: 200px; padding-right: 16px; }
	.cax--faq .cax-faq__mascot { left: 0; right: auto; }
}

@media (max-width: 520px) {
	.cax--faq .cax-faq__cta.has-mascot { padding-left: 150px; padding-right: 14px; }
	.cax--faq .cax-faq__mascot { width: 148px; }
}

@media (max-width: 380px) {
	.cax--faq .cax-faq__cta { flex-direction: column; align-items: flex-start; }
	.cax--faq .cax-faq__cta.has-mascot { padding-left: 128px; padding-right: 12px; }
	.cax--faq .cax-faq__mascot { width: 128px; }
}

@media (max-width: 520px) {
	.cax--faq .cax-faq__item summary { padding: 13px 14px 13px 16px; }
	.cax--faq .cax-faq__a { padding: 0 16px 14px; }
}

@media (min-width: 961px) and (max-width: 1200px) {
	.cax--faq .cax-faq__cta.has-mascot { margin-top: 56px; padding-right: 128px; }
	.cax--faq .cax-faq__mascot { width: 136px; right: 0; }
	.cax--faq .cax-faq__cta b { font-size: .95rem; line-height: 1.3; }
}

@media (min-width: 521px) and (max-width: 960px) {
	.cax--faq .cax-faq__cta.has-mascot { flex-direction: row; align-items: center; justify-content: space-between; gap: 20px; margin-top: 40px; padding: 22px 28px 22px 200px; min-height: 160px; }
	.cax--faq .cax-faq__cta.has-mascot > div { flex: 1; min-width: 0; }
	.cax--faq .cax-faq__mascot { width: 170px; left: 12px; }
	.cax--faq .cax-faq__cta b { font-size: 1.3rem; line-height: 1.3; }
	.cax--faq .cax-faq__cta small { margin-top: 4px; font-size: 1rem; }
	.cax--faq a.cax-faq__btn { padding: 12px 22px; font-size: 1rem; }
}
