.home-hero { position: relative; min-height: min(900px, calc(100svh - var(--ae-header-height))); overflow: hidden; background: #171513; color: #fff; isolation: isolate; }
.home-hero::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.5) 46%, rgba(0,0,0,.14) 78%), linear-gradient(0deg, rgba(0,0,0,.82) 0%, transparent 48%); content: ""; }
.home-hero__media { position: absolute; z-index: 0; inset: 0; }
.home-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; animation: home-hero-settle 960ms var(--ae-ease) both; }
.home-hero__inner { position: relative; z-index: 2; display: flex; min-height: min(900px, calc(100svh - var(--ae-header-height))); flex-direction: column; justify-content: space-between; padding-block: clamp(80px, 10vw, 136px) 32px; }
.home-hero__copy { display: grid; max-width: 1000px; gap: 28px; }
.home-hero__title { max-width: 1000px; color: #fff; }
.home-hero__copy .ae-body-lg { max-width: 620px; color: rgba(255,255,255,.82); }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.home-hero .ae-button { background: #fff; color: #0a0a0a; }
.home-hero__pillars { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.42); list-style: none; }
.home-hero__pillars li { display: grid; min-height: 108px; align-content: start; gap: 7px; padding: 22px 28px 0 0; }
.home-hero__pillars li + li { padding-left: 28px; border-left: 1px solid rgba(255,255,255,.28); }
.home-hero__pillars strong { font-size: clamp(18px, 1.8vw, 24px); font-weight: 500; line-height: 1.15; }
.home-hero__pillars span { color: rgba(255,255,255,.66); font-size: 13px; }

@keyframes home-hero-settle {
  from { opacity: .82; transform: scale(1.018); }
  to { opacity: 1; transform: scale(1); }
}

.home-hero__copy .ae-reveal:nth-child(2) { transition-delay: 80ms; }
.home-hero__copy .ae-reveal:nth-child(3) { transition-delay: 150ms; }
.home-hero__pillars.ae-reveal { transition-delay: 210ms; }

.home-problem__lead { display: grid; max-width: 960px; grid-template-columns: 1fr; gap: 24px; margin-inline: auto; text-align: center; }
.home-problem__lead .ae-body-lg { max-width: 620px; margin-inline: auto; }
.home-problem__rows { margin-top: clamp(64px, 8vw, 104px); border-top: 1px solid var(--ae-line-strong); }
.home-problem__row { display: grid; grid-template-columns: 1fr 56px 1fr; align-items: center; gap: 24px; min-height: 112px; border-bottom: 1px solid var(--ae-line); }
.home-problem__rows span { color: var(--ae-text-secondary); font-size: clamp(18px, 2vw, 24px); }
.home-problem__rows i { color: var(--ae-text-tertiary); font-style: normal; text-align: center; }
.home-problem__rows strong { font-size: clamp(22px, 2.5vw, 32px); font-weight: 500; letter-spacing: -.015em; }
.home-problem__row--head { min-height: 52px; }
.home-problem__row--head span,
.home-problem__row--head strong { color: var(--ae-text-tertiary); font-size: 12px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; }
.home-page .section-intro__copy { grid-column: 1 / -1; max-width: 960px; margin-inline: auto; text-align: center; }
.home-page .section-intro__copy .ae-h2,
.home-page .faq-layout .ae-h2 { margin-inline: auto; text-align: center; }
.home-page .section-intro__copy .ae-body-lg { margin-inline: auto; text-align: center; }
.home-page .section-intro { margin-bottom: 56px; }
.privacy-stack { overflow: hidden; border: 1px solid #262626; border-radius: var(--ae-radius-media); background: #050505; color: #fff; color-scheme: dark; }
.privacy-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; counter-reset: privacy; }
.privacy-stack .privacy-tier { display: grid; min-height: 300px; grid-template-rows: auto 1fr; border: 0; border-right: 1px solid #262626; border-radius: 0; background: #050505; counter-increment: privacy; }
.privacy-stack .privacy-tier:last-child { border-right: 0; }
.privacy-stack .ae-h3 { color: #fff; }
.privacy-stack .ae-body { color: rgba(255,255,255,.72); }
.privacy-tier::before { color: rgba(255,255,255,.56); }
.privacy-tier::before { font-size: 12px; content: "0" counter(privacy); }
.privacy-tier__detail { display: grid; gap: 16px; margin-top: 40px; }
.privacy-grid .privacy-tier:nth-child(2) { transition-delay: 70ms; }
.privacy-grid .privacy-tier:nth-child(3) { transition-delay: 140ms; }
.hosting-proof { padding: clamp(28px, 4vw, 48px); border-top: 1px solid #262626; background: #0a0a0a; }
.hosting-proof__intro { display: grid; grid-template-columns: 1fr; justify-items: center; text-align: center; }
.hosting-proof__intro > div { width: 100%; max-width: 680px; }
.provider-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 32px; border-top: 1px solid #303030; border-left: 1px solid #303030; }
.provider-card { display: grid; min-height: 150px; align-content: end; gap: 3px; padding: 22px; border-right: 1px solid #303030; border-bottom: 1px solid #303030; transition: background var(--ae-fast) ease-out; }
.provider-card__mark { display: flex; height: 42px; align-items: center; margin-bottom: auto; }
.provider-card__mark img { width: auto; max-width: 138px; max-height: 34px; object-fit: contain; filter: grayscale(1) invert(1) contrast(1.35); transition: transform var(--ae-fast) var(--ae-ease); }
:root[data-theme="dark"] .provider-card__mark img { filter: grayscale(1) invert(1) contrast(1.35); }
.provider-card strong { font-size: 15px; font-weight: 500; }
.provider-card small { color: rgba(255,255,255,.56); font-size: 12px; }

.workspace-stack { overflow: hidden; border: 1px solid var(--ae-line); border-radius: var(--ae-radius-media); background: var(--ae-surface-raised); }
.workspace-showcase { display: grid; grid-template-columns: .68fr 1.32fr; min-height: 620px; overflow: hidden; border: 1px solid var(--ae-line); border-radius: var(--ae-radius-media); background: var(--ae-surface-raised); }
.workspace-stack .workspace-showcase { min-height: 540px; border: 0; border-radius: 0; }
.workspace-copy { display: flex; flex-direction: column; justify-content: space-between; padding: clamp(32px, 5vw, 64px); border-right: 1px solid var(--ae-line); background: var(--ae-surface); }
.workspace-stack .workspace-copy { justify-content: flex-start; }
.workspace-copy__top { display: grid; gap: 24px; }
.workspace-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.workspace-tags span { padding: 7px 10px; border: 1px solid var(--ae-line); border-radius: var(--ae-radius-pill); color: var(--ae-text-secondary); font-size: 12px; }
.workspace-panel { display: grid; grid-template-columns: 160px 1fr; min-width: 0; }
.workspace-rail { padding: 28px 16px; border-right: 1px solid var(--ae-line); }
.workspace-rail strong { display: block; padding: 0 10px 18px; font-size: 13px; font-weight: 600; }
.workspace-rail span { display: block; margin-bottom: 7px; padding: 9px 10px; border-radius: 6px; color: var(--ae-text-meta); font-size: 12px; }
.workspace-rail span:first-of-type { background: var(--ae-surface); color: var(--ae-ink); }
.workspace-main { display: grid; align-content: start; gap: 24px; padding: clamp(28px, 4vw, 48px); }
.workspace-main__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 24px; border-bottom: 1px solid var(--ae-line); }
.workspace-models { display: grid; gap: 10px; }
.workspace-model { display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--ae-line); }
.workspace-model i { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: var(--ae-ink); color: var(--ae-canvas); font-size: 11px; font-style: normal; }
.workspace-model small { color: var(--ae-text-meta); }
.model-catalogue { overflow: hidden; border: 1px solid var(--ae-line); border-radius: var(--ae-radius-media); background: var(--ae-surface); }
.model-logo-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.model-logo-card { display: grid; min-height: 112px; align-content: space-between; gap: 20px; padding: 20px; border-right: 1px solid var(--ae-line); border-bottom: 1px solid var(--ae-line); font-size: 14px; transition: background var(--ae-fast) ease-out; }
.model-logo-card:nth-child(4n) { border-right: 0; }
.model-logo-card:nth-last-child(-n+4) { border-bottom: 0; }
.model-logo-card img { width: auto; max-width: 112px; max-height: 30px; object-fit: contain; filter: grayscale(1) contrast(1.2); transition: transform var(--ae-fast) var(--ae-ease); }
:root[data-theme="dark"] .model-logo-card img { filter: grayscale(1) invert(1) contrast(1.2); }

.lifecycle { list-style: none; border-top: 1px solid var(--ae-line); }
.lifecycle li { display: grid; grid-template-columns: 72px minmax(180px, .55fr) minmax(0, 1fr); gap: 24px; padding: 30px 0; border-bottom: 1px solid var(--ae-line); }
.lifecycle__index { color: var(--ae-text-tertiary); font-size: 12px; }
.lifecycle h3 { font-size: 24px; font-weight: 500; letter-spacing: -.02em; }
.lifecycle .ae-reveal:nth-child(2) { transition-delay: 60ms; }
.lifecycle .ae-reveal:nth-child(3) { transition-delay: 120ms; }
.lifecycle .ae-reveal:nth-child(4) { transition-delay: 180ms; }
.services-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--ae-grid-gap); }
.service-card { min-height: 300px; padding: 24px; transition: background var(--ae-fast) ease-out; }
.service-card__icon { width: 52px; height: 52px; margin-top: 28px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: transform var(--ae-fast) var(--ae-ease); }
.service-card > div { margin-top: auto; }
.service-card p { margin-top: 16px; }
.services-grid .ae-reveal:nth-child(2) { transition-delay: 60ms; }
.services-grid .ae-reveal:nth-child(3) { transition-delay: 120ms; }
.services-grid .ae-reveal:nth-child(4) { transition-delay: 180ms; }
.sector-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--ae-line); }
.sector-link { display: grid; min-height: 170px; grid-template-columns: 1fr auto; align-items: end; gap: 24px; padding: 28px 24px; border-right: 1px solid var(--ae-line); border-bottom: 1px solid var(--ae-line); transition: background var(--ae-fast) ease-out; }
.sector-link:nth-child(even) { border-right: 0; }
.sector-link:hover { background: var(--ae-surface); }
.sector-link h3 { font-size: clamp(26px, 3vw, 40px); font-weight: 450; line-height: 1; letter-spacing: 0; }
.sector-link h3,
.sector-link span { transition: transform var(--ae-fast) var(--ae-ease); }
.sector-link span { color: var(--ae-text-tertiary); }
.faq-layout { display: grid; grid-template-columns: 1fr; gap: 56px; }
.faq-layout .ae-section-heading { text-align: center; }
.faq-layout .ae-faq-list { width: 100%; max-width: 960px; margin-inline: auto; }
.home-page .assessment { min-height: 520px; display: grid; align-items: center; border-top: 0; background: linear-gradient(rgba(0,0,0,.58), rgba(0,0,0,.58)), url("/img/c_control.png") center / cover no-repeat; color: #fff; color-scheme: dark; }
.home-page .assessment__inner { grid-template-columns: 1fr; justify-items: center; text-align: center; }
.home-page .assessment__copy { justify-items: center; }
.home-page .assessment .ae-h2 { color: #fff; }
.home-page .assessment__copy .ae-body-lg { color: rgba(255,255,255,.78); }
.home-page .assessment__action { justify-self: center; background: #fff; border-color: #fff; color: #0a0a0a; }

@media (hover: hover) and (pointer: fine) {
  .provider-card:hover { background: #141414; }
  .provider-card:hover .provider-card__mark img,
  .model-logo-card:hover img,
  .service-card:hover .service-card__icon { transform: translateY(-3px); }
  .model-logo-card:hover,
  .service-card:hover { background: var(--ae-surface-raised); }
  .sector-link:hover h3 { transform: translateX(3px); }
  .sector-link:hover span { transform: translate(3px, -3px); }
}

@media (max-width: 1199px) {
  .services-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 899px) {
  .workspace-showcase { grid-template-columns: 1fr; }
  .privacy-grid { grid-template-columns: 1fr; }
  .privacy-stack .privacy-tier { min-height: 220px; border-right: 0; border-bottom: 1px solid #262626; }
  .privacy-stack .privacy-tier:last-child { border-bottom: 0; }
  .workspace-copy { min-height: 340px; border-right: 0; border-bottom: 1px solid var(--ae-line); }
  .provider-grid { grid-template-columns: repeat(2, 1fr); }
  .model-logo-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 639px) {
  .home-hero, .home-hero__inner { min-height: 780px; }
  .home-hero::after { background: linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.28)), linear-gradient(0deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.28) 72%); }
  .home-hero__media img { object-position: center; }
  .home-hero__inner { padding-block: 72px 20px; }
  .home-hero__copy { gap: 22px; }
  .home-hero__copy .ae-body-lg { max-width: 340px; }
  .home-hero__pillars { grid-template-columns: 1fr; }
  .home-hero__pillars li { min-height: 0; grid-template-columns: 1fr auto; align-items: baseline; gap: 12px; padding: 14px 0; }
  .home-hero__pillars li + li { padding-left: 0; border-top: 1px solid rgba(255,255,255,.28); border-left: 0; }
  .home-hero__pillars strong { font-size: 16px; }
  .home-hero__pillars span { font-size: 12px; text-align: right; }
  .home-problem__row:not(.home-problem__row--head) { grid-template-columns: 1fr; gap: 8px; min-height: 0; padding: 24px 0; }
  .home-problem__rows i { display: none; }
  .home-problem__row--head { grid-template-columns: 1fr 20px 1fr; gap: 8px; }
  .home-problem__row--head i { display: block; }
  .privacy-stack, .workspace-stack { border-radius: var(--ae-radius-card); }
  .workspace-showcase { border-radius: var(--ae-radius-card); }
  .workspace-stack .workspace-showcase { min-height: 0; border-radius: 0; }
  .workspace-stack .workspace-copy { min-height: 0; }
  .workspace-copy { min-height: 320px; padding: 28px 22px; }
  .workspace-panel { grid-template-columns: 1fr; }
  .workspace-rail { display: none; }
  .workspace-main { padding: 26px 18px; }
  .hosting-proof__intro { grid-template-columns: 1fr; gap: 32px; }
  .provider-grid, .model-logo-grid { display: flex; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline proximity; }
  .provider-card { min-height: 132px; flex: 0 0 78%; padding: 18px; scroll-snap-align: start; }
  .model-logo-card, .model-logo-card:nth-child(4n), .model-logo-card:nth-last-child(-n+4) { min-height: 104px; flex: 0 0 58%; padding: 16px; border-right: 1px solid var(--ae-line); border-bottom: 0; scroll-snap-align: start; }
  .lifecycle li { grid-template-columns: 40px 1fr; gap: 12px 16px; }
  .lifecycle p { grid-column: 2; }
  .services-grid, .sector-links { grid-template-columns: 1fr; }
  .service-card { min-height: 240px; }
  .service-card__icon { width: 44px; height: 44px; margin-top: 20px; }
  .sector-link { min-height: 140px; border-right: 0; padding-inline: 0; }
  .home-page .assessment { min-height: 460px; background-position: 60% center; }
}

@media (prefers-reduced-motion: reduce) {
  .home-page *, .home-page *::before, .home-page *::after {
    animation-delay: 0s !important;
    transition-delay: 0s !important;
  }
}
