/* ==========================================================================
   Deployment page — "Why a path, not a choice" essay, below the hero journey.
   ========================================================================== */
.pg-dppath { background-color: #fff; padding: 104px 0 112px; }
.pg-dppath__inner { max-width: 1280px; margin: 0 auto; padding: 0 80px; display: grid; grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr); gap: 92px; align-items: start; }

.pg-dppath__head { position: sticky; top: 116px; }
.pg-dppath__kicker { position: relative; padding-left: 21px; font-family: "Cabin", sans-serif; font-weight: 500; font-size: 14px; line-height: 16px; text-transform: uppercase; color: #000; }
.pg-dppath__kicker::before, .pg-dppath__kicker::after { content: ""; position: absolute; left: 0; width: 15px; height: 4px; border-radius: 1px; }
.pg-dppath__kicker::before { top: calc(50% - 4px); background: linear-gradient(to right, #0036fa, #c0e2f9); }
.pg-dppath__kicker::after { top: 50%; width: 14px; background: linear-gradient(to right, #c0e2f9, #0036fa); }

.pg-dppath__title { font-family: "Merriweather", serif; font-weight: 300; font-size: 44px; line-height: 54px; color: #000; margin-top: 20px; max-width: 460px; }
.pg-dppath__rule { margin-top: 30px; width: 88px; height: 3px; border-radius: 3px; background-image: linear-gradient(90deg, #0036fa, #4e87fc); }

.pg-dppath__seq { position: relative; display: flex; flex-direction: column; gap: 44px; padding-left: 108px; }
.pg-dppath__seq::before { content: ""; position: absolute; left: 72px; top: 14px; bottom: 14px; width: 2px; background: linear-gradient(180deg, #0036fa, #4e87fc); opacity: 0.22; transform-origin: top; transform: scaleY(0); transition: transform 0.9s cubic-bezier(0.4, 0, 0.2, 1); }
.pg-dppath.is-drawn .pg-dppath__seq::before { transform: scaleY(1); }

.pg-dppath__step { position: relative; }
.pg-dppath__num { position: absolute; left: -108px; top: -8px; font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-weight: 700; font-size: 40px; line-height: 1; letter-spacing: -0.02em; background: linear-gradient(160deg, #0036fa, #4e87fc); -webkit-background-clip: text; background-clip: text; color: transparent; opacity: 0.18; transition: opacity 0.4s ease; }
.pg-dppath__step:hover .pg-dppath__num { opacity: 1; }

.pg-dppath__step::before { content: ""; position: absolute; left: -40px; top: 8px; width: 10px; height: 10px; border-radius: 50%; background-color: #fff; border: 2px solid #0036fa; box-shadow: 0 0 0 4px #fff; transition: background-color 0.35s ease, box-shadow 0.35s ease; }
.pg-dppath__step:hover::before { background-color: #0036fa; box-shadow: 0 0 0 4px #fff, 0 0 0 8px rgba(0, 54, 250, 0.12); }

.pg-dppath__cap { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 11px; letter-spacing: 0.09em; text-transform: uppercase; color: #9aa2b4; }
.pg-dppath__p { font-family: "Cabin", sans-serif; font-weight: 400; font-size: 16px; line-height: 26px; color: #333; margin-top: 8px; }
.pg-dppath__hl { color: #0036fa; font-weight: 600; }

.pg-dppath__head, .pg-dppath__step { opacity: 0; transform: translateY(16px); transition: opacity 0.6s ease, transform 0.6s ease; }
.pg-dppath__head.is-in, .pg-dppath__step.is-in { opacity: 1; transform: none; }
.pg-dppath__step.is-in:nth-child(1) { transition-delay: 0.14s; }
.pg-dppath__step.is-in:nth-child(2) { transition-delay: 0.26s; }
.pg-dppath__step.is-in:nth-child(3) { transition-delay: 0.38s; }

@media (prefers-reduced-motion: reduce) {
  .pg-dppath__head, .pg-dppath__step { opacity: 1; transform: none; transition: none; }
  .pg-dppath__seq::before { transform: scaleY(1); transition: none; }
}

@media (max-width: 1040px) {
  .pg-dppath { padding: 80px 0; }
  .pg-dppath__inner { grid-template-columns: 1fr; gap: 48px; padding: 0 24px; }
  .pg-dppath__head { position: static; }
  .pg-dppath__title { font-size: 32px; max-width: none; }
}
@media (max-width: 600px) {
  .pg-dppath__title { font-size: 27px; }
  .pg-dppath__seq { padding-left: 76px; gap: 36px; }
  .pg-dppath__seq::before { left: 46px; }
  .pg-dppath__num { left: -76px; font-size: 30px; }
  .pg-dppath__step::before { left: -34px; }
  .pg-dppath__p { font-size: 16px; line-height: 27px; }
}

/* ==========================================================================
   Deployment page — "Four ways to run the same platform" (below Why-a-path).
   ========================================================================== */
.pg-dpmod { background-color: #f4f7fd; padding: 104px 0 96px; }
.pg-dpmod__inner { max-width: 1280px; margin: 0 auto; padding: 0 80px; }

.pg-dpmod__kicker { position: relative; padding-left: 21px; font-family: "Cabin", sans-serif; font-weight: 500; font-size: 14px; line-height: 16px; text-transform: uppercase; color: #000; }
.pg-dpmod__kicker::before, .pg-dpmod__kicker::after { content: ""; position: absolute; left: 0; width: 15px; height: 4px; border-radius: 1px; }
.pg-dpmod__kicker::before { top: calc(50% - 4px); background: linear-gradient(to right, #0036fa, #c0e2f9); }
.pg-dpmod__kicker::after { top: 50%; width: 14px; background: linear-gradient(to right, #c0e2f9, #0036fa); }
.pg-dpmod__title { font-family: "Merriweather", serif; font-weight: 300; font-size: 44px; line-height: 54px; color: #000; margin-top: 16px; }

.pg-dpmod__axis { margin-top: 46px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.pg-dpmod__axislabel { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 11px; letter-spacing: 0.09em; text-transform: uppercase; color: #7f8aa3; white-space: nowrap; }
.pg-dpmod__axisline { position: relative; flex: 1; height: 2px; border-radius: 2px; background-color: #d7deee; overflow: visible; }
.pg-dpmod__axisline::before { content: ""; position: absolute; inset: 0; border-radius: 2px; background: linear-gradient(90deg, #0036fa, #4e87fc); transform-origin: left; transform: scaleX(0); transition: transform 0.9s cubic-bezier(0.4, 0, 0.2, 1); }
.pg-dpmod.is-drawn .pg-dpmod__axisline::before { transform: scaleX(1); }
.pg-dpmod__node { position: absolute; top: 50%; width: 9px; height: 9px; margin: -4.5px 0 0 -4.5px; border-radius: 50%; background-color: #f4f7fd; border: 2px solid #9fb2e8; transition: border-color 0.4s ease, background-color 0.4s ease; transition-delay: 0.5s; }
.pg-dpmod.is-drawn .pg-dpmod__node { border-color: #0036fa; }
.pg-dpmod.is-drawn .pg-dpmod__node--end { background-color: #0036fa; }

.pg-dpmod__grid { margin-top: 30px; display: grid; grid-template-columns: 1.06fr 0.98fr 1.02fr 0.94fr; background-color: #fff; border: 1px solid #e4e8f2; border-radius: 4px; }
.pg-dpmod__col { padding: 34px 30px 38px; border-left: 1px solid #eceef4; }
.pg-dpmod__col:first-child { border-left: none; }
.pg-dpmod__col--focus { background: linear-gradient(180deg, rgba(0, 54, 250, 0.05), rgba(0, 54, 250, 0)); box-shadow: inset 0 3px 0 0 #0036fa; background-image: linear-gradient(180deg, rgba(0, 54, 250, 0.05), rgba(0, 54, 250, 0)), linear-gradient(90deg, #0036fa, #4e87fc); background-repeat: no-repeat; background-size: 100% 100%, 100% 3px; background-position: 0 0, 0 0; }

.pg-dpmod__name { font-family: "Cabin", sans-serif; font-weight: 700; font-size: 19px; line-height: 1.3; color: #12140f; }
.pg-dpmod__desc { font-family: "Cabin", sans-serif; font-weight: 400; font-size: 14px; line-height: 22px; color: #6a6f7a; margin-top: 12px; min-height: 66px; }

.pg-dpmod__list { list-style: none; margin: 20px 0 0; padding: 18px 0 0; border-top: 1px solid #eceef4; display: flex; flex-direction: column; gap: 13px; }
.pg-dpmod__li { position: relative; padding-left: 26px; font-family: "Cabin", sans-serif; font-weight: 500; font-size: 14px; line-height: 20px; color: #2c2f36; }
.pg-dpmod__li::before { content: ""; position: absolute; left: 0; top: 3px; width: 15px; height: 8px; border-left: 2px solid #0036fa; border-bottom: 2px solid #0036fa; transform: rotate(-45deg); border-radius: 1px; opacity: 0; transition: opacity 0.4s ease, transform 0.4s ease; }
.pg-dpmod.is-drawn .pg-dpmod__li::before { opacity: 1; }
.pg-dpmod__col--focus .pg-dpmod__li::before { border-color: #0036fa; }

.pg-dpmod__foot { margin-top: 22px; font-family: "Cabin", sans-serif; font-weight: 400; font-size: 13px; line-height: 21px; color: #9aa2b4; max-width: 900px; }

.pg-dpmod__head, .pg-dpmod__axis, .pg-dpmod__col, .pg-dpmod__foot { opacity: 0; transform: translateY(16px); transition: opacity 0.6s ease, transform 0.6s ease; }
.pg-dpmod__head.is-in, .pg-dpmod__axis.is-in, .pg-dpmod__col.is-in, .pg-dpmod__foot.is-in { opacity: 1; transform: none; }
.pg-dpmod__col.is-in:nth-child(1) { transition-delay: 0.06s; }
.pg-dpmod__col.is-in:nth-child(2) { transition-delay: 0.15s; }
.pg-dpmod__col.is-in:nth-child(3) { transition-delay: 0.24s; }
.pg-dpmod__col.is-in:nth-child(4) { transition-delay: 0.33s; }

@media (prefers-reduced-motion: reduce) {
  .pg-dpmod__head, .pg-dpmod__axis, .pg-dpmod__col, .pg-dpmod__foot { opacity: 1; transform: none; transition: none; }
  .pg-dpmod__axisline::before { transform: scaleX(1); transition: none; }
  .pg-dpmod__li::before { opacity: 1; }
}

@media (max-width: 1040px) {
  .pg-dpmod { padding: 80px 0; }
  .pg-dpmod__inner { padding: 0 24px; }
  .pg-dpmod__title { font-size: 32px; }
  .pg-dpmod__grid { grid-template-columns: 1fr 1fr; }
  .pg-dpmod__col:nth-child(3) { border-left: none; }
  .pg-dpmod__col:nth-child(-n + 2) { border-bottom: 1px solid #eceef4; }
  .pg-dpmod__desc { min-height: 0; }
  .pg-dpmod__axis { flex-wrap: wrap; }
}
@media (max-width: 600px) {
  .pg-dpmod__title { font-size: 27px; }
  .pg-dpmod__grid { grid-template-columns: 1fr; }
  .pg-dpmod__col { border-left: none; border-bottom: 1px solid #eceef4; }
  .pg-dpmod__col:last-child { border-bottom: none; }
  .pg-dpmod__axislabel { font-size: 10px; }
}

/* ==========================================================================
   Deployment page — "Which deployment fits which situation" (below Models).
   ========================================================================== */
.pg-dpfit { background-color: #fff; padding: 104px 0 100px; }
.pg-dpfit__inner { max-width: 1280px; margin: 0 auto; padding: 0 80px; }

.pg-dpfit__kicker { position: relative; padding-left: 21px; font-family: "Cabin", sans-serif; font-weight: 500; font-size: 14px; line-height: 16px; text-transform: uppercase; color: #000; }
.pg-dpfit__kicker::before, .pg-dpfit__kicker::after { content: ""; position: absolute; left: 0; width: 15px; height: 4px; border-radius: 1px; }
.pg-dpfit__kicker::before { top: calc(50% - 4px); background: linear-gradient(to right, #0036fa, #c0e2f9); }
.pg-dpfit__kicker::after { top: 50%; width: 14px; background: linear-gradient(to right, #c0e2f9, #0036fa); }
.pg-dpfit__title { font-family: "Merriweather", serif; font-weight: 300; font-size: 44px; line-height: 54px; color: #000; margin-top: 16px; }

.pg-dpfit__ledger { margin-top: 44px; border-top: 1px solid #e7e9ef; }
.pg-dpfit__headrow, .pg-dpfit__row { display: grid; grid-template-columns: 1.2fr 0.9fr 1.5fr; align-items: center; column-gap: 40px; }
.pg-dpfit__headrow { padding: 14px 24px 14px 26px; }
.pg-dpfit__hcell { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 11px; letter-spacing: 0.11em; text-transform: uppercase; color: #9aa2b4; }

.pg-dpfit__row { position: relative; padding: 24px 24px 24px 26px; border-top: 1px solid #eef0f5; text-decoration: none; transition: background-color 0.35s ease; }
.pg-dpfit__row::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: linear-gradient(180deg, #0036fa, #4e87fc); transform: scaleY(0); transform-origin: top; transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
.pg-dpfit__row::after { content: ""; position: absolute; left: -3.5px; top: 50%; width: 9px; height: 9px; margin-top: -4.5px; border-radius: 50%; background-color: #fff; border: 2px solid #cdd6ec; transition: border-color 0.35s ease, background-color 0.35s ease; }
.pg-dpfit__row:hover { background-color: rgba(0, 54, 250, 0.035); }
.pg-dpfit__row:hover::before { transform: scaleY(1); }
.pg-dpfit__row:hover::after { border-color: #0036fa; background-color: #0036fa; }

.pg-dpfit__sit { position: relative; font-family: "Cabin", sans-serif; font-weight: 700; font-size: 16px; line-height: 22px; color: #12140f; justify-self: start; }
.pg-dpfit__sit::after { content: ""; position: absolute; left: 0; bottom: -5px; width: 100%; height: 2px; border-radius: 2px; background: linear-gradient(90deg, #0036fa, #4e87fc); transform: scaleX(0); transform-origin: left; transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
.pg-dpfit__row:hover .pg-dpfit__sit::after { transform: scaleX(1); }

.pg-dpfit__fit { justify-self: start; display: inline-flex; align-items: center; gap: 9px; padding: 8px 16px 8px 13px; border-radius: 999px; border: 1px solid #d3dcf3; background-color: #fff; transition: border-color 0.35s ease, box-shadow 0.35s ease; }
.pg-dpfit__fitarrow { font-size: 13px; line-height: 1; background: linear-gradient(90deg, #0036fa, #4e87fc); -webkit-background-clip: text; background-clip: text; color: transparent; transition: transform 0.35s ease; }
.pg-dpfit__fitlabel { font-family: "Cabin", sans-serif; font-weight: 600; font-size: 14px; line-height: 18px; background: linear-gradient(90deg, #0036fa, #4e87fc); -webkit-background-clip: text; background-clip: text; color: transparent; white-space: nowrap; }
.pg-dpfit__row:hover .pg-dpfit__fit { border-color: #4e87fc; box-shadow: 0 4px 16px rgba(0, 54, 250, 0.12); }
.pg-dpfit__row:hover .pg-dpfit__fitarrow { transform: translateX(3px); }

.pg-dpfit__why { font-family: "Cabin", sans-serif; font-weight: 400; font-size: 14px; line-height: 22px; color: #6a6f7a; }

.pg-dpfit__head, .pg-dpfit__headrow, .pg-dpfit__row { opacity: 0; transform: translateY(15px); transition: opacity 0.6s ease, transform 0.6s ease, background-color 0.35s ease; }
.pg-dpfit__head.is-in, .pg-dpfit__headrow.is-in, .pg-dpfit__row.is-in { opacity: 1; transform: none; }
.pg-dpfit__row.is-in:nth-child(2) { transition-delay: 0.05s; }
.pg-dpfit__row.is-in:nth-child(3) { transition-delay: 0.11s; }
.pg-dpfit__row.is-in:nth-child(4) { transition-delay: 0.17s; }
.pg-dpfit__row.is-in:nth-child(5) { transition-delay: 0.23s; }
.pg-dpfit__row.is-in:nth-child(6) { transition-delay: 0.29s; }

@media (prefers-reduced-motion: reduce) {
  .pg-dpfit__head, .pg-dpfit__headrow, .pg-dpfit__row { opacity: 1; transform: none; transition: none; }
}

@media (max-width: 1040px) {
  .pg-dpfit { padding: 80px 0; }
  .pg-dpfit__inner { padding: 0 24px; }
  .pg-dpfit__title { font-size: 32px; }
  .pg-dpfit__headrow { display: none; }
  .pg-dpfit__row { grid-template-columns: 1fr; row-gap: 12px; padding: 22px 20px 24px; }
  .pg-dpfit__sit::after { bottom: -6px; }
}
@media (max-width: 600px) {
  .pg-dpfit__title { font-size: 27px; }
}

/* ==========================================================================
   Deployment page — "The move, when it comes" migration timeline
   (below the Decision guide ledger).
   ========================================================================== */
.pg-dpmove { background-color: #f4f7fd; padding: 104px 0 112px; overflow: hidden; }
.pg-dpmove__inner { max-width: 1280px; margin: 0 auto; padding: 0 80px; }

.pg-dpmove__kicker { position: relative; padding-left: 21px; font-family: "Cabin", sans-serif; font-weight: 500; font-size: 14px; line-height: 16px; text-transform: uppercase; color: #000; }
.pg-dpmove__kicker::before, .pg-dpmove__kicker::after { content: ""; position: absolute; left: 0; width: 15px; height: 4px; border-radius: 1px; }
.pg-dpmove__kicker::before { top: calc(50% - 4px); background: linear-gradient(to right, #0036fa, #c0e2f9); }
.pg-dpmove__kicker::after { top: 50%; width: 14px; background: linear-gradient(to right, #c0e2f9, #0036fa); }
.pg-dpmove__title { font-family: "Merriweather", serif; font-weight: 300; font-size: 44px; line-height: 54px; color: #000; margin-top: 16px; max-width: 720px; }

.pg-dpmove__track { position: relative; margin-top: 76px; display: grid; grid-template-columns: 1.05fr 1fr 1.05fr 0.9fr; column-gap: 34px; }
.pg-dpmove__track::before { content: ""; position: absolute; top: 9px; left: 6%; right: 6%; height: 2px; background: linear-gradient(90deg, #0036fa, #4e87fc); transform: scaleX(0); transform-origin: left; transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1); }
.pg-dpmove__track.is-in::before { transform: scaleX(1); }

.pg-dpmove__step { position: relative; padding-top: 34px; }
.pg-dpmove__step:nth-child(even) { margin-top: 40px; }

.pg-dpmove__node { position: absolute; top: 3px; left: 0; width: 14px; height: 14px; border-radius: 50%; background-color: #f4f7fd; border: 2px solid #c4d0ee; transition: border-color 0.4s ease, background 0.4s ease, box-shadow 0.4s ease, transform 0.4s ease; z-index: 2; }
.pg-dpmove__step:nth-child(even) .pg-dpmove__node { top: 3px; }

.pg-dpmove__num { position: absolute; top: 22px; right: 8px; font-family: "Cabin", sans-serif; font-weight: 700; font-size: 92px; line-height: 1; letter-spacing: -0.03em; color: rgba(0, 54, 250, 0.07); pointer-events: none; transition: color 0.4s ease; z-index: 0; }
.pg-dpmove__label { position: relative; font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: #0036fa; z-index: 1; }
.pg-dpmove__desc { position: relative; margin-top: 12px; font-family: "Cabin", sans-serif; font-weight: 400; font-size: 14px; line-height: 23px; color: #5f6470; z-index: 1; }

.pg-dpmove__step:hover .pg-dpmove__node { border-color: #0036fa; background: linear-gradient(135deg, #0036fa, #4e87fc); box-shadow: 0 0 0 6px rgba(0, 54, 250, 0.1); transform: scale(1.06); }
.pg-dpmove__step:hover .pg-dpmove__num { color: transparent; background: linear-gradient(135deg, rgba(0, 54, 250, 0.16), rgba(78, 135, 252, 0.16)); -webkit-background-clip: text; background-clip: text; }

.pg-dpmove__head, .pg-dpmove__step { opacity: 0; transform: translateY(16px); transition: opacity 0.6s ease, transform 0.6s ease; }
.pg-dpmove__head.is-in, .pg-dpmove__step.is-in { opacity: 1; transform: translateY(0); }
.pg-dpmove__step:nth-child(even).is-in { transform: translateY(40px); }
.pg-dpmove__step.is-in:nth-child(1) { transition-delay: 0.1s; }
.pg-dpmove__step.is-in:nth-child(2) { transition-delay: 0.22s; }
.pg-dpmove__step.is-in:nth-child(3) { transition-delay: 0.34s; }
.pg-dpmove__step.is-in:nth-child(4) { transition-delay: 0.46s; }

@media (prefers-reduced-motion: reduce) {
  .pg-dpmove__head, .pg-dpmove__step { opacity: 1; transform: none !important; transition: none; }
  .pg-dpmove__track::before { transform: scaleX(1); transition: none; }
}

@media (max-width: 1040px) {
  .pg-dpmove { padding: 80px 0; }
  .pg-dpmove__inner { padding: 0 24px; }
  .pg-dpmove__title { font-size: 32px; }
  .pg-dpmove__track { grid-template-columns: 1fr 1fr; row-gap: 56px; column-gap: 40px; margin-top: 56px; }
  .pg-dpmove__track::before { display: none; }
  .pg-dpmove__step:nth-child(even) { margin-top: 0; }
  .pg-dpmove__step:nth-child(even).is-in { transform: translateY(0); }
  .pg-dpmove__node { position: relative; top: 0; display: block; margin-bottom: 14px; }
  .pg-dpmove__step { padding-top: 0; }
  .pg-dpmove__num { top: -20px; right: 0; font-size: 78px; }
}
@media (max-width: 600px) {
  .pg-dpmove__title { font-size: 26px; }
  .pg-dpmove__track { grid-template-columns: 1fr; row-gap: 44px; }
}

/* ==========================================================================
   FAQ — Deployment page, below "The move, when it comes" (closes the page).
   ========================================================================== */
.pg-dpfaq { background-color: #f4f7fd; padding: 104px 0; }
.pg-dpfaq__inner { max-width: 1280px; margin: 0 auto; padding: 0 80px; }

.pg-dpfaq__kicker { position: relative; padding-left: 21px; font-family: "Cabin", sans-serif; font-weight: 500; font-size: 14px; line-height: 16px; text-transform: uppercase; color: #000; }
.pg-dpfaq__kicker::before, .pg-dpfaq__kicker::after { content: ""; position: absolute; left: 0; width: 15px; height: 4px; border-radius: 1px; }
.pg-dpfaq__kicker::before { top: calc(50% - 4px); background: linear-gradient(to right, #0036fa, #c0e2f9); }
.pg-dpfaq__kicker::after { top: 50%; width: 14px; background: linear-gradient(to right, #c0e2f9, #0036fa); }
.pg-dpfaq__title { font-family: "Merriweather", serif; font-weight: 300; font-size: 44px; line-height: 54px; color: #000; margin-top: 18px; }

.pg-dpfaq__grid { margin-top: 44px; display: grid; grid-template-columns: 1fr 1fr; column-gap: 72px; }
.pg-dpfaq__col { display: flex; flex-direction: column; }
.pg-dpfaq__item { border-top: 1px solid #dfe3ee; }
.pg-dpfaq__col:first-child .pg-dpfaq__item:first-child, .pg-dpfaq__col:last-child .pg-dpfaq__item:first-child { border-top: none; }

.pg-dpfaq__q { width: 100%; display: grid; grid-template-columns: auto 1fr auto; align-items: baseline; column-gap: 16px; padding: 24px 0; background: none; border: none; cursor: pointer; text-align: left; }

.pg-dpfaq__idx { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 13px; font-weight: 500; letter-spacing: 0.04em; color: #9aa2b4; transition: color 0.3s ease; }
.pg-dpfaq__item.is-open .pg-dpfaq__idx, .pg-dpfaq__q:hover .pg-dpfaq__idx { color: transparent; background: linear-gradient(90deg, #0036fa, #4e87fc); -webkit-background-clip: text; background-clip: text; }

.pg-dpfaq__label { position: relative; font-family: "Cabin", sans-serif; font-weight: 600; font-size: 18px; line-height: 25px; color: #12140f; transition: color 0.3s ease; }
.pg-dpfaq__label::after { content: ""; position: absolute; left: 0; bottom: -3px; width: 100%; height: 2px; border-radius: 2px; background: linear-gradient(90deg, #0036fa, #4e87fc); transform: scaleX(0); transform-origin: left; transition: transform 0.4s cubic-bezier(0.34, 1.2, 0.64, 1); }
.pg-dpfaq__q:hover .pg-dpfaq__label, .pg-dpfaq__item.is-open .pg-dpfaq__label { color: #0036fa; }
.pg-dpfaq__item.is-open .pg-dpfaq__label::after { transform: scaleX(1); }

.pg-dpfaq__toggle { position: relative; width: 15px; height: 15px; flex-shrink: 0; transform: rotate(0deg); transition: transform 0.4s cubic-bezier(0.34, 1.4, 0.64, 1); }
.pg-dpfaq__toggle::before, .pg-dpfaq__toggle::after { content: ""; position: absolute; background: linear-gradient(90deg, #0036fa, #4e87fc); border-radius: 1px; }
.pg-dpfaq__toggle::before { left: 0; top: 6.5px; width: 15px; height: 2px; }
.pg-dpfaq__toggle::after { left: 6.5px; top: 0; width: 2px; height: 15px; }
.pg-dpfaq__item.is-open .pg-dpfaq__toggle { transform: rotate(135deg); }

.pg-dpfaq__answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.38s ease; }
.pg-dpfaq__answer > div { overflow: hidden; }
.pg-dpfaq__item.is-open .pg-dpfaq__answer { grid-template-rows: 1fr; }
.pg-dpfaq__a { font-family: "Cabin", sans-serif; font-weight: 400; font-size: 15px; line-height: 24px; color: #4d4d4d; padding: 0 30px 24px 34px; }
.pg-dpfaq__a a { color: #0036fa; font-weight: 600; text-decoration: none; border-bottom: 1px solid rgba(0, 54, 250, 0.3); }
.pg-dpfaq__a a:hover { border-bottom-color: #0036fa; }

.pg-dpfaq__head, .pg-dpfaq__item { opacity: 0; transform: translateY(16px); transition: opacity 0.6s ease, transform 0.6s ease; }
.pg-dpfaq__head.is-in, .pg-dpfaq__item.is-in { opacity: 1; transform: none; }
.pg-dpfaq__item.is-in:nth-child(1) { transition-delay: 0.05s; }
.pg-dpfaq__item.is-in:nth-child(2) { transition-delay: 0.12s; }
.pg-dpfaq__item.is-in:nth-child(3) { transition-delay: 0.19s; }
.pg-dpfaq__item.is-in:nth-child(4) { transition-delay: 0.26s; }

@media (prefers-reduced-motion: reduce) {
  .pg-dpfaq__head, .pg-dpfaq__item { opacity: 1; transform: none; transition: none; }
}

@media (max-width: 1040px) {
  .pg-dpfaq { padding: 80px 0; }
  .pg-dpfaq__inner { padding: 0 24px; }
  .pg-dpfaq__title { font-size: 34px; }
  .pg-dpfaq__grid { grid-template-columns: 1fr; column-gap: 0; }
  .pg-dpfaq__col:last-child .pg-dpfaq__item:first-child { border-top: 1px solid #dfe3ee; }
}
@media (max-width: 600px) {
  .pg-dpfaq__title { font-size: 28px; }
}
