.product-portals{padding-block:72px;scroll-margin-top:22px}
.portal-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin-bottom:36px}.portal-intro h2{font-size:clamp(46px,5.4vw,80px);font-weight:500;line-height:1.04;letter-spacing:-.06em;margin:20px 0 0}.portal-intro>p{font-size:17px;line-height:1.7;justify-self:end;margin:0}
.portal-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}
.product-door{position:relative;display:flex;flex-direction:column;min-width:0;padding:34px 36px 26px;text-decoration:none;color:var(--ink);background:var(--lime)}
.product-door--flow{background:var(--ink);color:var(--lilac)}
.door-wordmark{display:flex;align-items:center;gap:9px;margin:0;font-size:30px;font-weight:800;letter-spacing:-.075em;line-height:1.1}.door-wordmark svg{width:29px;height:29px;flex:none;fill:currentColor}.door-suffix{font-size:.72em;font-weight:400;letter-spacing:-.04em;margin-left:.22em}
.door-headline{font-size:clamp(35px,3.5vw,54px);font-weight:500;line-height:1.07;letter-spacing:-.055em;margin:40px 0 0}.door-description{font-size:15px;line-height:1.65;max-width:42ch;min-height:3.3em;margin:20px 0 28px}
.door-preview{margin:0 0 25px;min-width:0}.door-preview-window{position:relative;aspect-ratio:1.65;overflow:hidden;background:#fafafa;border:1px solid color-mix(in srgb,currentColor 16%,transparent);box-shadow:0 8px 24px #180f2010;transition:box-shadow 220ms ease}.door-preview-window img{position:absolute;max-width:none;height:auto;display:block;pointer-events:none;user-select:none}.product-door--lab .door-preview-window img{width:124%;left:-24%;top:-18%}.product-door--flow .door-preview-window img{width:108%;left:-4%;top:-16%}.door-preview figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:11px;font-size:10px;line-height:1.5;opacity:.72}.door-preview figcaption>span:last-child{white-space:nowrap}
.door-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:22px;border-top:1px solid color-mix(in srgb,currentColor 25%,transparent)}.door-platform{font-size:11px;line-height:1.5}.door-cta{display:flex;align-items:center;gap:20px;font-size:17px;font-weight:500;letter-spacing:-.025em;white-space:nowrap}.door-cta-label{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;transition:text-decoration-color 220ms ease}.door-arrow{display:block;font-size:28px;line-height:1;transition:transform 220ms ease}
.product-door:focus-visible{outline:3px solid var(--ink);outline-offset:5px}.product-door:focus-visible .door-arrow{transform:translate(2px,-2px)}.product-door:focus-visible .door-cta-label{text-decoration-color:currentColor}
@media(hover:hover) and (pointer:fine){.product-door:hover .door-arrow{transform:translate(2px,-2px)}.product-door:hover .door-cta-label{text-decoration-color:currentColor}.product-door:hover .door-preview-window{box-shadow:0 10px 28px #180f202b}}
@media(max-width:1100px){.product-door{padding:28px 26px 24px}.door-wordmark{font-size:27px}.door-wordmark svg{width:26px;height:26px}.door-description{font-size:14px;min-height:4.95em}.door-preview figcaption{font-size:9px}.door-preview figcaption>span:last-child{display:none}.door-cta{font-size:15px;gap:12px}.door-platform{font-size:10px}}
@media(max-width:760px){.product-portals{padding-block:48px}.portal-intro{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.portal-intro h2{font-size:clamp(40px,10vw,58px)}.portal-intro>p{justify-self:start;font-size:16px}.portal-pair{grid-template-columns:1fr;gap:18px}.product-door{padding:28px 26px 24px}.door-headline{font-size:clamp(36px,9vw,52px);margin-top:32px}.door-description{min-height:0;max-width:42ch;margin:18px 0 26px;font-size:15px}.door-preview{margin-bottom:22px}.door-footer{padding-top:20px}.door-preview figcaption{font-size:10px}}
@media(max-width:370px){.product-door{padding-inline:20px}.door-headline{font-size:34px}.door-cta{font-size:14px;gap:10px}.door-platform{max-width:13ch}}
@media(prefers-reduced-motion:reduce){.product-door *{transition:none!important}}
/* Editorial close-ups: actual app imagery with readable conversation/context. */
.door-preview-window.door-detail{aspect-ratio:auto;height:360px;display:flex;flex-direction:column;padding:18px 20px;background:#fff;color:#302c33}
.door-detail-label{font-size:13px;line-height:1.5;margin:0;flex:none}.door-detail-label strong{font-weight:600}.door-detail-label>span{padding-inline:5px;color:#8c8098}
.door-detail-image{display:block;width:100%;min-height:0;flex:1;margin-block:12px;overflow:hidden}
.door-detail-reply{margin:0;padding:12px 0 0;border-top:1px solid #302c331a;flex:none}.door-detail-reply>span{display:block;font-size:11px;font-weight:600;color:#766d7e;margin-bottom:4px}.door-detail-reply>p{font-size:14px;line-height:1.5;margin:0;max-width:48ch}
.door-detail-outcome{font-size:13px;line-height:1.5;margin:0;padding-top:12px;border-top:1px solid #302c331a;flex:none}
.door-detail--flow{background:#fafaf9!important}.door-detail-image.door-flow-mobile{display:none}
@media(max-width:1100px){.door-preview-window.door-detail{height:340px;padding:16px}.door-detail-label{font-size:12px}.door-detail-reply>p{font-size:13px}.door-detail-image.door-flow-desktop{display:none}.door-detail-image.door-flow-mobile{display:block}}
@media(max-width:760px){.door-preview-window.door-detail{height:340px}.door-detail-label{font-size:12px}.door-detail-reply>p{font-size:13px}.door-detail-outcome{font-size:12px}}
