.acp-landing {
  --acp-ease: cubic-bezier(.22, 1, .36, 1);
}

.acp-landing .acp-wrap { width: min(100% - 96px, 1240px); }
.acp-landing .acp-nav { min-height: 68px; }
.acp-landing .acp-brand { letter-spacing: -.028em; }
.acp-landing a.acp-button {
  border-radius: 100px;
  padding-inline: 21px;
}
.acp-landing .acp-nav .acp-button { padding-inline: 16px; }
.acp-landing h1, .acp-landing h2 {
  font-family: var(--acp-display);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.022em;
  text-wrap: balance;
}
.acp-landing h1 em, .acp-landing h2 em { color: var(--acp-blue); }
[dir="rtl"] .acp-landing :is(h1, h2, h3, .acp-brand) { letter-spacing: 0; }

.acp-hero {
  --acp-hero-inset: clamp(24px, 4vw, 64px);
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .92fr);
  align-items: center;
  gap: clamp(20px, 3vw, 42px);
  min-height: clamp(406px, 62svh, 562px);
  margin-block: 18px 14px;
  padding: clamp(25px, min(4vw, 6svh), 57px) var(--acp-hero-inset);
  overflow: hidden;
  border: 1px solid #3b6cbd;
  border-radius: 25px;
  background: #0a234d radial-gradient(ellipse at 15% 115%, #204fa2, transparent 78%);
  color: #f6faff;
  box-shadow: inset 0 1px 0 #cbe3ff59, 0 18px 40px #173f842e;
}
.acp-hero-copy { position: relative; }
.acp-landing .acp-hero h1 {
  margin-block-end: 18px;
  font-size: clamp(3.05rem, 5.35vw, 5.13rem);
  text-wrap: initial;
}
.acp-hero h1 span, .acp-hero h1 em { display: block; }
.acp-landing .acp-hero h1 em { color: #adcbff; }
.acp-lede { max-width: 26rem; color: #dceaff; font-size: clamp(.94rem, 1.4vw, 1.09rem); line-height: 1.62; }
.acp-hero .acp-actions { margin-block-start: 23px; }
.acp-landing .acp-hero a.acp-button-primary {
  border-color: #e7f4ff;
  background: linear-gradient(155deg, #f4faff, #b8d6ff);
  color: #0a285a;
  box-shadow: 0 5px 20px #071f4c45;
}
.acp-landing .acp-hero a.acp-button-primary:hover { background: #fff; }
.acp-landing .acp-hero a.acp-button-outline {
  border-color: #b8d6ff82;
  background: #a6caff24;
  color: #f6faff;
}
.acp-landing .acp-hero a.acp-button-outline:hover { background: #a6caff47; }
.acp-hero :focus-visible { outline-color: #f6faff; }
.acp-hero-visual {
  display: grid;
  justify-items: center;
  align-items: center;
}
.acp-hero-frame {
  position: absolute;
  z-index: -1;
  inset-block: 0;
  inset-inline: 35% 0;
  overflow: hidden;
  pointer-events: none;
  --acp-photo-direction: 90deg;
  mask-image: linear-gradient(var(--acp-photo-direction), transparent, #000 29%);
}
.acp-hero-frame::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(var(--acp-photo-direction), #0a234d, #0a234dc9 24%, #15386b38 70%),
    linear-gradient(0deg, #0c2456c2, transparent 62%);
  content: "";
}
[dir="rtl"] .acp-hero-frame { --acp-photo-direction: 270deg; }
.acp-hero-photo, .acp-hero-traces, .acp-grade-traces, .acp-cta-traces {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.acp-hero-photo { object-fit: cover; object-position: 72% 46%; filter: saturate(.72); }
.acp-hero-traces { z-index: 2; }
.acp-preview {
  width: min(100%, 416px);
  margin-block-start: clamp(8px, 6vh, 64px);
}
.acp-window {
  --acp-ink: #f6faff;
  --acp-muted: #d5e7ff;
  --acp-blue: #c2dcff;
  --acp-blue-hover: #f0f7ff;
  --acp-blue-soft: #99c5ff2b;
  --acp-sky: #d1efff;
  --acp-sky-soft: #7acfff30;
  --acp-indigo: #e1e4ff;
  --acp-indigo-soft: #a9adff2e;
  --acp-line: #b9d6ff38;
  overflow: hidden;
  border: 1px solid #b4d7ff99;
  border-radius: 16px;
  background: linear-gradient(147deg, #70afff57, #133c7d99 62%), #0c2c5cb3;
  color: var(--acp-ink);
  box-shadow: inset 0 1px 0 #dbeeff80, 0 24px 65px #06173580;
  -webkit-backdrop-filter: var(--acp-glass-filter);
  backdrop-filter: var(--acp-glass-filter);
}
.acp-window-header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 8px;
  padding: 10px 15px;
  border-bottom: 1px solid var(--acp-line);
  color: var(--acp-muted);
  text-align: center;
  font-size: .69rem;
}
.acp-window-header > i { justify-self: end; }
.acp-window-dots { display: flex; gap: 4px; }
.acp-window-dots i { width: 5px; height: 5px; border-radius: 50%; background: #c8e3ffc2; }
.acp-window-body { padding: 14px; }
.acp-preview-course { display: flex; align-items: center; gap: 10px; margin-block-end: 11px; }
.acp-preview-course .acp-icon { width: 34px; height: 34px; border-radius: 8px; font-size: .96rem; }
.acp-preview-course strong { display: block; font-size: .92rem; }
.acp-preview-course small { display: block; color: var(--acp-muted); font-size: .65rem; font-weight: 600; }
.acp-preview-switcher { display: none; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; padding: 3px; border-radius: 7px; background: var(--acp-blue-soft); }
.acp-preview[data-interactive] .acp-preview-switcher { display: grid; }
.acp-preview-switcher button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 0;
  min-height: 34px;
  padding: 4px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--acp-muted);
  font-size: .7rem;
  font-weight: 600;
  cursor: pointer;
}
.acp-preview-switcher button:hover { color: var(--acp-blue); }
.acp-preview-switcher [aria-pressed="true"] { background: #a7ccff45; color: var(--acp-blue-hover); box-shadow: inset 0 1px 0 #d9edff59; }
.acp-preview-panels { display: grid; }
.acp-landing .acp-preview-panel {
  display: block;
  grid-area: 1 / 1;
  min-width: 0;
  padding-block-start: 4px;
}
.acp-landing .acp-preview-panel[hidden] { display: block !important; visibility: hidden; }
.acp-preview-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding-block: 4px;
  border-bottom: 1px solid var(--acp-line);
}
.acp-preview-row:last-child { border-bottom: 0; }
.acp-preview-row strong, .acp-preview-row small { display: block; }
.acp-preview-row strong { font-size: .73rem; line-height: 1.3; }
.acp-preview-row small { color: var(--acp-muted); font-size: .66rem; }
.acp-preview-row .acp-icon { width: 28px; height: 28px; border-radius: 7px; font-size: .8rem; font-weight: 700; }
.acp-preview-muted { color: var(--acp-muted); padding-inline: 9px; }
.acp-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 7px;
  border-radius: 5px;
  font-size: .65rem;
  font-weight: 650;
  line-height: 1.2;
}
.acp-pill-blue { background: var(--acp-blue-soft); color: var(--acp-blue); }
.acp-pill-sky { background: var(--acp-sky-soft); color: var(--acp-sky); }
.acp-pill-indigo { background: var(--acp-indigo-soft); color: var(--acp-indigo); }

.acp-landing .acp-service-rail {
  overflow: hidden;
  border: 1px solid var(--acp-line);
  border-radius: 16px;
  background: linear-gradient(140deg, #ffffffd1, #dbeafe9c);
  -webkit-backdrop-filter: var(--acp-glass-filter);
  backdrop-filter: var(--acp-glass-filter);
  box-shadow: var(--acp-glass-shadow);
}
.acp-service-links { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.acp-service-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(5px, 1vw, 13px);
  min-height: 54px;
  padding: 10px 7px;
  color: var(--acp-muted);
  font-size: .8rem;
  font-weight: 650;
  text-align: center;
  transition: background-color .2s, color .2s;
}
.acp-service-links a + a { border-inline-start: 1px solid var(--acp-line); }
.acp-service-links a:hover { background: var(--acp-blue-soft); color: var(--acp-ink); }
.acp-service-links i { color: var(--acp-blue); font-size: 1.06rem; }

.acp-section { padding-block: clamp(72px, 9vw, 126px); }
.acp-assess { padding-block-start: clamp(47px, 5.8vw, 82px); }
.acp-section-intro { min-width: 0; }
.acp-landing .acp-section-intro h2 { margin-block: 15px 20px; font-size: clamp(3.1rem, 5.15vw, 5rem); text-wrap: initial; }
.acp-section-intro > p:not(.acp-kicker) { max-width: 32rem; color: var(--acp-muted); font-size: 1.03rem; line-height: 1.7; }
.acp-section-intro .acp-text-link { margin-block-start: 21px; }
.acp-assess-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: clamp(30px, 6.2vw, 96px); }
.acp-assess .acp-section-intro { position: sticky; top: 128px; align-self: start; padding-block: 24px; }
.acp-exam-grid { display: grid; gap: 20px; }
.acp-exam-card {
  display: grid;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--acp-line);
  border-radius: 19px;
  background: radial-gradient(ellipse at 77% 105%, var(--acp-glass-tint-strong), transparent 78%), var(--acp-glass);
  box-shadow: var(--acp-glass-shadow);
}
.acp-exam-paper { --acp-glass-tint-strong: #a5b4fc42; }
.acp-exam-copy { padding: clamp(22px, 3vw, 37px); }
.acp-landing :is(.acp-exam-copy, .acp-team-card) h3 { margin-block: 13px 8px; font-size: clamp(1.36rem, 2.1vw, 1.83rem); font-weight: 650; letter-spacing: -.033em; line-height: 1.2; }
.acp-exam-copy p, .acp-team-card p { max-width: 33rem; color: var(--acp-muted); }
.acp-exam-copy .acp-text-link, .acp-team-card .acp-text-link { margin-block-start: 17px; }
.acp-live-demo {
  margin-inline: clamp(18px, 3vw, 37px);
  padding: 15px clamp(12px, 2.4vw, 25px) 20px;
  border: 1px solid var(--acp-line);
  border-bottom: 0;
  border-radius: 13px 13px 0 0;
  background: var(--acp-glass-strong);
  box-shadow: var(--acp-glass-shadow);
}
.acp-live-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-block-end: 14px; border-bottom: 1px solid var(--acp-line); font-weight: 650; font-size: .78rem; }
.acp-live-header i { margin-inline-end: 3px; color: var(--acp-blue); }
.acp-live-header .acp-pill i { color: inherit; font-size: .5rem; }
.acp-live-body { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: clamp(22px, 4vw, 70px); padding-block-start: 13px; }
.acp-live-body strong { display: block; font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 700; letter-spacing: -.07em; line-height: 1.1; }
.acp-live-body strong span { color: var(--acp-muted); font-size: .47em; letter-spacing: -.03em; }
.acp-live-body small { display: block; color: var(--acp-muted); font-size: .73rem; }
.acp-live-meter > div { height: 7px; margin-block-end: 7px; border-radius: 6px; background: var(--acp-glass-tint-strong); }
.acp-live-meter > div span { display: block; width: 86%; height: 100%; border-radius: inherit; background: var(--acp-blue); transform-origin: left; }
[dir="rtl"] .acp-live-meter > div span { transform-origin: right; }
.acp-paper-photo { height: clamp(192px, 24vw, 290px); overflow: hidden; }
.acp-paper-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 52%; }

.acp-grade {
  overflow: clip;
  border-block: 1px solid var(--acp-line);
  background: radial-gradient(ellipse at 80% 70%, #93c5fd80, transparent 75%), var(--acp-glass-tint);
}
.acp-grade-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.25fr); align-items: center; gap: clamp(25px, 5.4vw, 80px); }
.acp-grade-visual {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  align-items: center;
  min-height: clamp(345px, 35vw, 482px);
  padding: clamp(14px, 4vw, 56px);
  border: 1px solid var(--acp-line);
  border-radius: 18px;
  background: radial-gradient(ellipse at 75% 0, #60a5fa66, transparent 78%), var(--acp-glass);
  box-shadow: var(--acp-glass-shadow);
}
.acp-grade-traces { z-index: -1; color: var(--acp-blue); }
.acp-grade-table {
  overflow: hidden;
  border: 1px solid var(--acp-line);
  border-radius: 11px;
  background: var(--acp-glass-strong);
  box-shadow: var(--acp-glass-shadow);
}
.acp-grade-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 14px; font-size: .84rem; font-weight: 650; }
.acp-grade-header i { color: var(--acp-blue); margin-inline-end: 3px; }
.acp-grade-header small { color: var(--acp-muted); font-size: .7rem; }
.acp-grade-table table { width: 100%; border-collapse: collapse; font-size: .77rem; }
.acp-grade-table th, .acp-grade-table td { padding: 11px 12px; border-top: 1px solid var(--acp-line); text-align: start; }
.acp-grade-table tr > :last-child { text-align: end; }
.acp-grade-table thead, .acp-grade-table tfoot { background: var(--acp-blue-soft); color: var(--acp-blue-hover); font-weight: 650; }
[dir="rtl"] .acp-grade-traces, [dir="rtl"] .acp-hero-traces { transform: scaleX(-1); }

.acp-teams .acp-section-intro { max-width: 780px; }
.acp-team-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; margin-block-start: 32px; }
.acp-team-card {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  padding: clamp(18px, 3vw, 36px);
  border: 1px solid var(--acp-line);
  border-radius: 17px;
  background: linear-gradient(135deg, var(--acp-glass-tint), transparent 78%), var(--acp-glass);
  box-shadow: var(--acp-glass-shadow);
}
.acp-landing .acp-team-card h3 { margin-block-start: 3px; }
.acp-tool-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-block-start: 32px; border-block: 1px solid var(--acp-line); }
.acp-tool-grid article { padding: 21px 16px; }
.acp-tool-grid article + article { border-inline-start: 1px solid var(--acp-line); }
.acp-tool-grid i { color: var(--acp-blue); font-size: 1.2rem; }
.acp-landing .acp-tool-grid h3 { margin-block: 8px 4px; font-size: 1rem; font-weight: 650; }
.acp-tool-grid h3 a:hover { color: var(--acp-blue); text-decoration: underline; }
.acp-tool-grid p { color: var(--acp-muted); font-size: .87rem; }

.acp-usage { border-block: 1px solid var(--acp-line); background: var(--acp-glass); }
.acp-usage dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-block: 0; padding-block: 32px; }
.acp-usage dl div { display: flex; flex-direction: column-reverse; justify-content: start; gap: 6px; padding: 4px clamp(12px, 2.4vw, 34px); }
.acp-usage dl div + div { border-inline-start: 1px solid var(--acp-line); }
.acp-usage dt { color: var(--acp-muted); font-size: .78rem; font-weight: 600; }
.acp-usage dd { margin: 0; color: var(--acp-blue); font-family: var(--acp-display); font-size: clamp(1.8rem, 4.4vw, 3.75rem); line-height: 1; }
.acp-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(38px, 7vw, 96px) 18px;
  border: 1px solid var(--acp-line);
  border-radius: 20px;
  background: radial-gradient(ellipse at 50% 120%, #93c5fdb3, transparent 78%), var(--acp-glass);
  box-shadow: var(--acp-glass-shadow);
  text-align: center;
}
.acp-cta-traces { z-index: -1; color: var(--acp-blue); opacity: .25; }
.acp-landing .acp-cta h2 { font-size: clamp(3rem, 6.8vw, 6rem); }
.acp-landing .acp-cta p { margin-block: 14px 23px; color: var(--acp-muted); }
.acp-cta .acp-actions { justify-content: center; }

.acp-scroll-progress { position: fixed; inset: 0 0 auto; z-index: 21; pointer-events: none; height: 2px; }
.acp-scroll-progress span { display: block; height: 100%; background: var(--acp-blue); transform: scaleX(0); transform-origin: left; }
[dir="rtl"] .acp-scroll-progress span { transform-origin: right; }

@media (max-width: 1000px) {
  .acp-landing .acp-wrap { width: calc(100% - 52px); }
  .acp-hero { gap: 22px; }
  .acp-landing .acp-hero h1 { font-size: clamp(2.88rem, 5.4vw, 4.25rem); }
  .acp-hero .acp-actions { gap: 9px; }
  .acp-hero a.acp-button { padding-inline: 13px; }
  .acp-service-links a { font-size: .73rem; }
}

@media (max-width: 760px) {
  .acp-landing .acp-wrap { width: calc(100% - 36px); }
  .acp-hero, .acp-assess-layout, .acp-grade-layout { grid-template-columns: minmax(0, 1fr); }
  .acp-hero { gap: 23px; min-height: 0; margin-block-start: 11px; padding: 24px 19px 18px; border-radius: 19px; }
  .acp-landing .acp-hero h1 { font-size: clamp(2.62rem, 11.45vw, 4.9rem); margin-block-end: 12px; }
  .acp-hero .acp-actions { margin-block-start: 16px; }
  .acp-hero-frame { inset: 7% 0 0; mask-image: none; }
  .acp-hero-frame::after { background: linear-gradient(180deg, #0a234d, #0a234df0 27%, #122e6059 73%, #102a59b3); }
  .acp-hero-photo { object-position: 65% center; }
  .acp-hero-visual { justify-items: start; }
  .acp-preview { margin-block-start: 0; }
  .acp-service-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .acp-service-links a { min-height: 49px; }
  .acp-service-links a:nth-child(-n + 3) { border-bottom: 1px solid var(--acp-line); }
  .acp-service-links a:nth-child(4) { border-inline-start: 0; }
  .acp-section { padding-block: 66px; }
  .acp-assess .acp-section-intro { position: static; padding-block: 0; }
  .acp-landing .acp-section-intro h2 { font-size: clamp(2.7rem, 11vw, 4.6rem); }
  .acp-grade-visual { min-height: 315px; }
  .acp-tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .acp-tool-grid article:nth-child(-n + 2) { border-bottom: 1px solid var(--acp-line); }
  .acp-tool-grid article:nth-child(3) { border-inline-start: 0; }
}

@media (max-width: 510px) {
  .acp-landing .acp-nav .acp-button { padding-inline: 9px; }
  .acp-hero .acp-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .acp-hero a.acp-button { min-height: 44px; padding-inline: 8px; gap: 5px; font-size: .75rem; }
  .acp-window-body { padding: 9px; }
  .acp-preview-switcher button { flex-wrap: wrap; gap: 3px; }
  .acp-grade-table th, .acp-grade-table td { padding: 9px 6px; }
  .acp-team-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .acp-usage dl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 0; }
  .acp-usage dl div:nth-child(3) { border-inline-start: 0; }
}

@media (prefers-reduced-motion: no-preference) {
  .acp-hero-copy { animation: acp-hero-enter .64s var(--acp-ease); }
  .acp-preview-panel:not([hidden]) { animation: acp-panel-enter .28s var(--acp-ease) both; }
  .acp-motion [data-reveal] { transition: opacity .68s ease, transform .88s var(--acp-ease); }
  .acp-motion .acp-reveal-pending { opacity: 0; transform: translateY(25px); }
  .acp-motion .acp-reveal-pending:focus-within { opacity: 1; transform: none; }
  .acp-motion .acp-reveal-pending .acp-live-meter > div span { transform: scaleX(0); }
  .acp-motion .acp-live-meter > div span { transition: transform 1s var(--acp-ease) .18s; }
  .acp-hero-photo { transform: translateY(var(--acp-photo-offset, 0px)) scale(var(--acp-photo-zoom, 1)); }
  .acp-preview { transform: translateY(var(--acp-preview-offset, 0px)); }
  .acp-grade-table { transform: translateY(var(--acp-grade-offset, 0px)) scale(var(--acp-grade-zoom, 1)); }
  .acp-grade-traces path { stroke-dasharray: 1; stroke-dashoffset: var(--acp-trace-offset, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .acp-scroll-progress { display: none; }
}

@keyframes acp-hero-enter {
  from { transform: translateY(7px); }
  to { transform: translateY(0); }
}
@keyframes acp-panel-enter {
  from { opacity: .4; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
