.products-hero{padding:92px 0 80px;position:relative;overflow:hidden;background:linear-gradient(180deg,#081015,#0a141b)}
.products-hero__grid{display:grid;grid-template-columns:1fr .85fr;gap:72px;align-items:end}
.products-hero h1{font-size:clamp(48px,7vw,86px);line-height:.96;letter-spacing:-.06em;max-width:10ch;margin:20px 0}
.products-hero p{font-size:19px;color:var(--text-2);max-width:61ch}
.product-index{border-top:1px solid rgba(255,255,255,.12)}
.product-index a{display:grid;grid-template-columns:38px 1fr;gap:4px 14px;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.12);text-decoration:none;transition:padding .24s ease,color .24s ease,background .24s ease}
.product-index a:hover,.product-index a:focus-visible{padding-left:10px;color:var(--teal-3);background:linear-gradient(90deg,rgba(31,140,160,.06),transparent 70%)}
.product-index span{grid-row:1/3;font:11px var(--mono);color:var(--teal-3);padding-top:4px}.product-index strong{font-size:20px;line-height:1.15}.product-index small{color:var(--muted)}
.product-kataris{background:var(--paper);color:var(--ink)}
.product-lane{display:grid;grid-template-columns:180px minmax(0,1fr) 240px;gap:48px;align-items:center;min-height:470px}
.product-lane__label{align-self:start;padding-top:10px}.status{display:block;margin-top:12px;font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.product-lane__body h2{font-size:clamp(48px,7vw,82px);line-height:.95;letter-spacing:-.06em;margin-bottom:18px}.product-lane__body p{color:var(--ink-2);max-width:62ch}.product-lead{font-size:clamp(20px,2vw,27px);line-height:1.45!important;color:var(--ink)!important;margin-bottom:16px}
.lane-link{display:inline-flex;align-items:center;gap:10px;margin-top:28px;color:var(--teal);font-weight:760;text-decoration:none}.lane-link span{transition:transform .22s ease}.lane-link:hover span{transform:translateX(6px)}
.kataris-mark{width:210px;height:210px;border:1px solid #cbd6d7;display:grid;place-items:center;position:relative;overflow:hidden;justify-self:end}.kataris-mark::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(31,140,160,.14),transparent 55%);transform:translateY(100%);transition:transform .5s cubic-bezier(.2,.8,.2,1)}.kataris-mark:hover::before{transform:none}.kataris-mark span{font-size:120px;font-weight:850;line-height:1;color:var(--teal);letter-spacing:-.08em;position:relative}.kataris-mark i{position:absolute;left:24px;right:24px;bottom:26px;height:2px;background:linear-gradient(90deg,var(--ink) 0 52%,var(--teal) 52% 79%,transparent 79%)}
.ai-rd{position:relative}.rd-lines{border-top:1px solid rgba(255,255,255,.12)}.rd-line{display:grid;grid-template-columns:60px minmax(0,1fr) 230px;gap:28px;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.12);align-items:start;position:relative;overflow:hidden}.rd-line::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,140,160,.08),transparent 58%);transform:translateX(-101%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}.rd-line:hover::before{transform:none}.rd-line>*{position:relative}.rd-no{font:12px var(--mono);color:var(--teal-3)}.rd-line small{font:11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.rd-line h3{font-size:clamp(25px,3vw,38px);line-height:1.1;letter-spacing:-.035em;margin:8px 0 10px;max-width:20ch}.rd-line p{color:var(--text-2);max-width:65ch}.rd-line>strong{font:12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--teal-3);text-align:right;padding-top:4px}.rd-cta{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:28px}.rd-cta p{color:var(--muted)}.rd-cta a{color:var(--teal-3);font-weight:760;text-decoration:none}
.open-lane{background:#dfe8e7;color:var(--ink)}.product-lane--open{min-height:390px}.open-codes{justify-self:end;width:100%;max-width:290px;border-top:1px solid #afbdbe}.open-codes span{display:block;padding:15px 0;border-bottom:1px solid #afbdbe;font:12px var(--mono);color:var(--teal);transition:padding .2s ease}.open-codes span:hover{padding-left:8px}
@media(max-width:980px){.products-hero__grid{grid-template-columns:1fr;gap:36px}.product-lane{grid-template-columns:140px 1fr}.kataris-mark,.open-codes{grid-column:2;justify-self:start}.rd-line{grid-template-columns:46px 1fr}.rd-line>strong{grid-column:2;text-align:left}.rd-cta{align-items:flex-start}}
@media(max-width:650px){.products-hero{padding:60px 0 50px}.products-hero h1{font-size:clamp(44px,13vw,60px);max-width:none}.product-lane{grid-template-columns:1fr;gap:22px;min-height:0}.product-lane__label{padding-top:0}.kataris-mark,.open-codes{grid-column:auto;justify-self:start}.kataris-mark{width:150px;height:150px}.kataris-mark span{font-size:86px}.rd-line{grid-template-columns:34px 1fr;gap:14px;padding:24px 0}.rd-line h3{font-size:26px;max-width:none}.rd-line>strong{grid-column:2}.rd-cta{display:grid}.open-codes{max-width:none}}

/* Kataris wordmark: same geometry as the dedicated Kataris page, adapted for a light surface. */
.kataris-wordmark-mini{justify-self:end;display:inline-flex;flex-direction:column;align-items:flex-start;width:max-content;padding:0;background:none;border:0;box-shadow:none}
.kataris-wordmark-mini .k-wordmark__text{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:26px;font-weight:800;letter-spacing:.20em;line-height:1;color:var(--ink);white-space:nowrap}
.kataris-wordmark-mini .k-wordmark__white,.kataris-wordmark-mini .k-wordmark__accent{display:block;height:2px;width:112%}
.kataris-wordmark-mini .k-wordmark__white{margin-top:7px;background:var(--ink)}
.kataris-wordmark-mini .k-wordmark__accent{margin-top:2px;background:linear-gradient(90deg,#ef4444 0 40%,transparent 80%)}
@media(max-width:980px){.kataris-wordmark-mini{grid-column:2;justify-self:start}}
@media(max-width:650px){.kataris-wordmark-mini{grid-column:auto;justify-self:start}.kataris-wordmark-mini .k-wordmark__text{font-size:22px}}
/* PhishDay teaser: the one dark product lane, kept deliberately sparse until launch. */
.product-phishday .product-lane{min-height:340px}
.product-phishday .product-lead{color:var(--text-2)!important}
.product-phishday .status,.product-phishday .lane-link{color:var(--teal-3)}
