/* Small standalone surface. Brand values mirror design-system/variables.css;
   the cinematic entry never imports the application's stylesheet or runtime.
   Type is the application's: Manrope and IBM Plex Mono arrive from Google
   Fonts through the same non-blocking links as client/index.html, and the
   local fallback faces below wear the webfonts' metrics (the numbers in
   design-system/fonts.css), so the swap changes glyphs, never line breaks. */
@font-face{font-family:'Manrope Fallback';src:local("Arial"),local("Liberation Sans"),local("Arimo");size-adjust:103.57%;ascent-override:102.92%;descent-override:28.97%;line-gap-override:0%}
@font-face{font-family:'IBM Plex Mono Fallback';src:local("Menlo"),local("DejaVu Sans Mono");size-adjust:99.66%;ascent-override:102.85%;descent-override:27.59%;line-gap-override:0%}
@font-face{font-family:'IBM Plex Mono Fallback Courier';src:local("Courier New"),local("Liberation Mono"),local("Cousine");size-adjust:99.98%;ascent-override:102.52%;descent-override:27.50%;line-gap-override:0%}
@font-face{font-family:'IBM Plex Mono Fallback Consolas';src:local("Consolas");size-adjust:109.13%;ascent-override:93.92%;descent-override:25.20%;line-gap-override:0%}
:root{--public-ground:#fff;--public-paper:#fafaf9;--public-surface-2:#f1eee8;--public-ink:#0c0c0c;--public-ink-2:#57534e;--public-ink-3:#8f8b85;--public-hairline:#ebeae7;--public-hairline-strong:#dedcd7;--public-accent:#B65E36;--public-action:#0c0c0c;--public-assurance:#147e56;--public-assurance-wash:#edf6f2;--public-danger:#b3402c;--public-radius-control:12px;--public-radius-surface:20px;--public-shadow-overlay:0 24px 64px -24px rgb(12 12 12 / .28),0 2px 8px -2px rgb(12 12 12 / .1);--public-focus-color:#69b5ad;--public-focus-ring:0 0 0 2px var(--public-focus-color);--public-ease:cubic-bezier(.22,1,.36,1);--font-family-sans:'Manrope','Manrope Fallback',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-family-mono:'IBM Plex Mono','IBM Plex Mono Fallback','IBM Plex Mono Fallback Courier','IBM Plex Mono Fallback Consolas',ui-monospace,SFMono-Regular,Menlo,monospace;--gateway-ink:#fff;--gateway-ground:#131d16;--gateway-muted:color-mix(in srgb,var(--gateway-ink) 76%,transparent);--gateway-edge:color-mix(in srgb,var(--gateway-ink) 42%,transparent);--gateway-backplate:color-mix(in srgb,var(--gateway-ink) 8%,transparent);--gateway-band:rgb(5 7 5 / .84)}
/* Dialogs follow the saved appearance; the cinematic canvas keeps its identity. */
:root{color-scheme:light}
:root.dark{color-scheme:dark;--public-ground:#0C0C0C;--public-paper:#131312;--public-surface-2:#1C1B1A;--public-ink:#F7F6F4;--public-ink-2:#A8A49E;--public-ink-3:#A09B93;--public-hairline:#232221;--public-hairline-strong:#2E2C2A;--public-accent:#D99A73;--public-action:#F7F6F4;--public-assurance:#5FCFA3;--public-assurance-wash:#0C221A;--public-danger:#E08872;--public-shadow-overlay:0 24px 64px -24px rgb(0 0 0 / .85),0 2px 8px -2px rgb(0 0 0 / .6)}


*{box-sizing:border-box}html{background:var(--public-paper);color:var(--public-ink);font-family:var(--font-family-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}[hidden]{display:none!important}::selection{color:var(--public-ground);background:var(--public-accent)}
:is(a,button,input,select):focus-visible{outline:2px solid var(--public-focus-color);outline-offset:4px}
/* After mouse or touch use (theme-preference.js), a control that only holds focus because a menu or dialog handed it back shows no ring. Text fields keep theirs; keyboard use restores all. */
:root[data-input-modality="pointer"] :focus-visible:not(input:not([type="button"],[type="submit"],[type="reset"],[type="checkbox"],[type="radio"],[type="range"],[type="color"],[type="file"],[type="image"]),textarea,select,[contenteditable]:not([contenteditable="false"])){--public-focus-ring:0 0 #0000;outline-color:transparent!important}

/* One inset (--gw-inset) rails the header, the content column and the footer:
   every left-anchored line starts on the wordmark's left edge and every
   right-anchored control ends on the Sign up pill's right edge. */
.gateway-page{padding:0;background:#131d16}
.gateway-shell{--gw-inset:clamp(24px,4vw,64px);--gateway-ground:#131d16;position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100svh;overflow:hidden;color:var(--gateway-ink);background:var(--gateway-ground)}
/* 16px above and below the 44px wordmark row: 76px of chrome on every width. */
.gateway-header{position:relative;z-index:3;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 12px;padding:16px var(--gw-inset)}
.gateway-brand{position:relative;display:inline-flex;align-items:center;min-height:44px;font-size:26px;font-weight:800;line-height:1.15;letter-spacing:-.04em}
/* Brand identity stays visible from first paint, including dark film, mobile
   and navigation snapshots. Keep the rule inside the named wordmark's box. */
.gateway-brand-wordmark{position:relative;display:inline-block;padding-bottom:4px;border-bottom:2px solid var(--public-accent)}
.gateway-brand sup{font-family:var(--font-family-mono);font-size:max(7px,.28em);font-weight:500;line-height:1;letter-spacing:.015em;margin-inline-start:2px;vertical-align:super}
.gateway-nav{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px;max-width:100%;margin-inline-start:auto;font-size:15px;font-weight:500;line-height:1.2}
.gateway-nav a{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:0;max-width:100%;padding:0 18px;border-radius:var(--public-radius-control);text-align:center;overflow-wrap:anywhere;transition:color .18s var(--public-ease)}
.gateway-nav .gateway-login{padding-inline:14px}
.gateway-nav .gateway-login:hover{color:var(--public-accent)}
/* No boxes on the film: the primary action leads by weight and a hairline underline. */
.gateway-nav .gateway-signup,.gateway-nav .gateway-workspace{color:var(--gateway-ink);font-weight:600;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.gateway-nav .gateway-signup:hover,.gateway-nav .gateway-workspace:hover{color:var(--public-accent)}
.gateway-nav a:focus-visible{outline:none;box-shadow:var(--public-focus-ring)}
/* SIGNAL keeps its familiar same-page signup, now beside the workspace entry. */
.gateway-signal-inline{display:none}
.gateway-nav .gateway-signal{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:0 12px;border:0;border-radius:var(--public-radius-control);background:none;color:var(--gateway-ink);font:inherit;text-align:start}
.gateway-signal-heading{display:inline-flex;align-items:center;gap:7px;min-width:0;font-size:14px;font-weight:500;line-height:1.4;color:inherit}
.gateway-signal-brand{flex:none;font-size:.88em;font-weight:600;letter-spacing:.04em}
.gateway-signal-newsletter{min-width:0;overflow-wrap:anywhere}
.gateway-signal-heading svg{width:14px;height:14px;flex:none}
.gateway-nav .gateway-signal:hover{color:var(--public-accent)}
.gateway-nav .gateway-signal:focus-visible{outline:none;box-shadow:var(--public-focus-ring)}

/* Editorial Rail leaves the middle of the film clear. The title and destination
   rail stay in natural flow so translations and short viewports can scroll. */
.gateway-content{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:150px;width:100%;max-width:100%;min-height:560px;padding:30px var(--gw-inset) 4px}
/* The trust strip keeps its DOM position after the product statement (reading
   order — the discovery test pins it there), but is pulled to the very TOP edge
   of the frame — a full-width band flush with the top, above the nav — in
   mobile and desktop alike, via flex order. margin-top:0 removes the band's
   own gap so it touches the top edge; the header, statement and footer follow. */
.gateway-shell>.gateway-trust{order:-1;margin-top:0}
.gateway-header{order:0}
.gateway-content{order:1}
.gateway-footer{order:2}
.gateway-content:before{content:none}
.gateway-intro{min-width:0;width:100%;max-width:570px;padding-bottom:0;text-shadow:0 1px 8px rgb(0 0 0 / .3)}
.gateway-definition{margin:18px 0 0;max-width:36ch;font-size:20px;font-weight:450;line-height:1.55;color:var(--gateway-ink);text-wrap:pretty;overflow-wrap:anywhere}
.gateway-memory-links{display:flex;align-items:center;min-width:0}
.gateway-memory-workspace{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--gateway-muted);font-size:16px}
.gateway-memory-workspace:is(:hover,:focus-visible){color:var(--public-accent)}
.gateway-title{margin:0;max-width:17ch;font-size:clamp(36px,3.6vw,52px);font-weight:500;line-height:1.08;letter-spacing:-.045em;text-wrap:balance;overflow-wrap:break-word;hyphens:none}
html:not(:lang(en)) .gateway-title{letter-spacing:normal}
html:is(:lang(ar),:lang(fa),:lang(ur),:lang(ps),:lang(sd),:lang(as),:lang(bn),:lang(gu),:lang(kn),:lang(ml),:lang(or),:lang(pa),:lang(ta),:lang(te),:lang(si)) .gateway-title{line-height:1.35}
html:is(:lang(hi),:lang(mr),:lang(ne),:lang(sa)) .gateway-title{line-height:1.4}
html:is(:lang(th),:lang(lo),:lang(km)) .gateway-title{line-height:1.45}
html:is(:lang(dv),:lang(my),:lang(bo),:lang(dz)) .gateway-title{line-height:1.5}
/* Accessible group labels remain available without adding another text row to the film. */
.gateway-agents-label,.gateway-includes-label{margin:0;font-family:var(--font-family-mono);font-size:11.5px;font-weight:500;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--gateway-muted)}
.gateway-agents-label,.gateway-includes-label{margin-top:24px}
/* The mono face covers Latin, Cyrillic and Greek; spacing pulls apart joined Arabic letters and Indic conjuncts. Other scripts get the sans face, unspaced. */
html:is(:lang(ar),:lang(fa),:lang(ur),:lang(ps),:lang(sd),:lang(dv),:lang(he),:lang(yi),:lang(hi),:lang(mr),:lang(ne),:lang(sa),:lang(bn),:lang(as),:lang(pa),:lang(gu),:lang(or),:lang(ta),:lang(te),:lang(kn),:lang(ml),:lang(si),:lang(th),:lang(lo),:lang(km),:lang(my),:lang(bo),:lang(dz),:lang(am),:lang(ti),:lang(ja),:lang(zh),:lang(ko)) :is(.gateway-agents-label,.gateway-includes-label){font-family:var(--font-family-sans);letter-spacing:normal}
/* Visible taglines explain each destination inside one compact rail.
   Explore tools aligns with the trailing edge directly underneath it. */
.gateway-agent-index{align-self:flex-end;min-width:0;width:100%;max-width:450px}
.gateway-agent-index>.gateway-agents-label{margin:0 0 12px;font-family:var(--font-family-sans);font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;line-height:1.4;color:var(--gateway-ink)}
.gateway-paths{display:grid;grid-template-columns:1fr;align-items:stretch;gap:0;width:100%;min-width:0;margin:0;padding:3px 18px;border:1px solid rgb(255 255 255 / .15);border-radius:var(--public-radius-control);background:rgb(22 36 26 / .86)}
.gateway-agent-row{--gateway-agent-columns:25px minmax(0,1fr) 18px;display:block;min-width:0;padding:0}
.gateway-agent-row+.gateway-agent-row{border-top:1px solid rgb(255 255 255 / .15)}
.gateway-path{position:relative;display:grid;grid-template-columns:var(--gateway-agent-columns);align-items:center;gap:5px 12px;min-width:0;min-height:78px;padding:12px 0;text-align:start;transition:color .12s ease,opacity .12s ease}
.gateway-path:after{content:'↗';grid-column:3;grid-row:1/3;align-self:center;font-size:18px;line-height:1;opacity:.7;transition:opacity .18s}
.gateway-path:hover:after{opacity:1}
.gateway-path-copy{grid-column:2;grid-row:1;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:3px 12px;min-width:0;overflow-wrap:anywhere}
.gateway-agent-symbol{display:flex;align-items:center;justify-content:center;flex:none;width:25px;height:25px;margin-top:0;transition:transform .2s}
.gateway-path>.gateway-agent-symbol{grid-column:1;grid-row:1/3;align-self:center}
.gateway-agent-symbol svg{display:block;width:100%;height:100%}
.gateway-path-name{margin:0;font-size:16px;font-weight:550;line-height:1.3;letter-spacing:-.025em}
.gateway-path-role{display:block;max-width:100%;margin-top:0;font-size:11px;font-weight:450;line-height:1.45;color:var(--gateway-muted)}
.gateway-path-description{grid-column:2;grid-row:2;min-width:0;font-size:13px;font-weight:450;line-height:1.5;color:#d0d7cd;overflow-wrap:anywhere}
.gateway-path:is(:hover,:focus-visible,:active){color:var(--public-accent)}
.gateway-path:focus-visible{outline:2px solid var(--public-focus-color);outline-offset:4px;border-radius:6px}
.gateway-agent-utilities{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:2px}
.gateway-includes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px 22px;min-width:0;margin:0}
/* Tool links sit inside the on-demand sheet. All descriptions stay in server-rendered HTML. */
.gateway-include{position:relative;display:inline-flex;align-items:flex-start;gap:10px;min-width:0;min-height:64px;padding:10px 0;border:0;border-radius:var(--public-radius-control);background:none;color:var(--gateway-ink);font-size:15px;font-weight:500;line-height:1.2;transition:color .18s}
.gateway-include svg{width:16px;height:16px;margin-top:2px;flex:none;opacity:.85}
.gateway-include-copy{min-width:0}
.gateway-include-label{display:block}
.gateway-include-detail{display:block;max-width:27ch;margin-top:5px;color:var(--gateway-muted);font-size:12px;font-weight:450;line-height:1.4;text-wrap:pretty}
.gateway-include>.gateway-agent-symbol{width:16px;height:16px;margin-top:2px}.gateway-include>.gateway-agent-symbol svg{margin-top:0}
.gateway-include:hover,.gateway-language-control:hover{color:var(--public-accent)}
.gateway-include:focus-visible{outline:none;box-shadow:var(--public-focus-ring)}
/* The two-line rows exceed the 44px touch target without oversized controls. */

/* Footer: Contact sales, legal links and media controls stay on the same rails. */
.gateway-footer{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:24px;row-gap:8px;padding:8px var(--gw-inset) max(12px,env(safe-area-inset-bottom));font-size:14px;font-weight:500;line-height:1.4;color:var(--gateway-muted)}
.gateway-footer a{position:relative;display:inline-flex;align-items:center;min-height:24px}
.gateway-footer a:before{content:'';position:absolute;inset:-10px 0}
.gateway-footer a:is(:hover,:focus-visible){color:var(--public-accent)}
.gateway-footer-primary{display:flex;align-items:center;justify-content:flex-start;gap:40px;grid-column:1;min-width:0;margin:0;padding:0;border:0}
/* Contact sales opens its existing same-page dialog. */
.gateway-contact-sales{flex:none;margin-top:0;color:var(--gateway-ink);font-size:14px;font-weight:500;line-height:1.4;text-align:end;justify-content:flex-end}
/* A text control like SIGNAL: it opens the Contact Sales dialog. */
.gateway-footer .gateway-contact-sales{position:relative;display:inline-flex;align-items:center;min-height:24px;padding:0;border:0;border-radius:var(--public-radius-control);background:none;font:inherit;font-size:14px;font-weight:500;line-height:1.4;color:var(--gateway-ink)}
.gateway-footer .gateway-contact-sales:before{content:'';position:absolute;inset:-10px 0}
.gateway-footer .gateway-contact-sales:is(:hover,:focus-visible){color:var(--public-accent)}
.gateway-footer .gateway-contact-sales:focus-visible{outline:none;box-shadow:var(--public-focus-ring)}
.gateway-legal{grid-column:2;display:flex;align-items:center;gap:16px;font-size:12.5px;font-weight:500;line-height:1.4;color:var(--gateway-muted)}
.gateway-legal>a:hover{text-decoration:underline;text-underline-offset:4px}
.gateway-legal [data-gateway-cookie-preferences]{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;min-width:32px;height:44px;padding:0;border:0;background:none;color:var(--gateway-muted)}
.gateway-legal [data-gateway-cookie-preferences]:before{content:'';position:absolute;inset:0 -6px}
.gateway-legal [data-gateway-cookie-preferences] svg{width:18px;height:18px}
.gateway-legal [data-gateway-cookie-preferences]:is(:hover,:focus-visible){color:var(--public-accent)}
.gateway-utilities{grid-column:3;display:flex;align-items:center;gap:4px}
.gateway-controls{display:flex;align-items:center;gap:4px}
/* The two icon buttons are the only circles. The row ends on the rail at the glyph, not at the 44px hit box: 13px of box plus the icon's own inset. */
.gateway-controls:has(.gateway-control:not([hidden])){margin-inline-end:-14px}
.gateway-control{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 14px;border:0;border-radius:var(--public-radius-control);background:none;color:var(--gateway-ink);font-size:14px;font-weight:500;line-height:1.2;transition:background-color .18s,border-color .18s,color .18s}
.gateway-controls .gateway-control{width:44px;min-height:44px;padding:0;border:0;border-radius:999px;background:none}
.gateway-controls .gateway-control:hover{color:var(--public-accent)}
.gateway-controls .gateway-control:focus-visible{outline:none;box-shadow:var(--public-focus-ring)}
.gateway-icon{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.gateway-control[aria-pressed=true] .gateway-icon-play,.gateway-control[aria-pressed=false] .gateway-icon-pause,.gateway-control[aria-pressed=true] .gateway-icon-sound-off,.gateway-control[aria-pressed=false] .gateway-icon-sound-on{display:none}
.gateway-language-form{display:flex;align-items:center;gap:8px;margin:0}
.gateway-language-form>label,.gateway-sr-only,.gateway-controls [data-gateway-control-label]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gateway-language-form[data-enhanced='true']>button[type=submit]{display:none}
.gateway-language-control{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;border:0;border-radius:var(--public-radius-control);background:none;color:var(--gateway-ink);font-size:14px;font-weight:500;line-height:1.2;white-space:nowrap;transition:border-color .18s,background-color .18s}
.gateway-language-control .gateway-icon{width:16px;height:16px}
.gateway-language-name{max-width:12ch;overflow:hidden;text-overflow:ellipsis}
.gateway-language-code{display:none;font-family:var(--font-family-mono);font-size:12.5px;font-weight:500;line-height:1;letter-spacing:.08em}
.gateway-language-chevron{width:12px;height:12px;flex:none;opacity:.7}
.gateway-language-control select{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);margin:0;padding:0;border:0;opacity:0;cursor:pointer;appearance:none}
.gateway-language-control select option{color:var(--public-ink);background:var(--public-ground)}
.gateway-language-control:focus-within{outline:none;box-shadow:var(--public-focus-ring)}
/* The enhanced picker replaces the browser's unbounded select menu. The GET form
   remains usable until this disclosure successfully mounts, including without JS. */
.gateway-language-picker{display:none;position:fixed;inset:auto 24px 24px auto;z-index:35;margin:0;width:min(360px,calc(100vw - 32px));max-height:min(540px,calc(100svh - 32px));padding:20px;border:1px solid #3d4540;border-radius:var(--public-radius-surface);background:#152019;color:#fff;box-shadow:0 24px 80px rgb(0 0 0 / .45);font-family:var(--font-family-sans);text-align:start;overflow:hidden}
.gateway-language-picker:popover-open{display:flex;flex-direction:column}
.gateway-language-picker[data-gateway-language-fallback][data-open=true]{display:flex;flex-direction:column}
.gateway-language-picker::backdrop{background:rgb(0 0 0 / .2)}
.gateway-language-heading{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.gateway-language-heading h2{margin:0;font-size:20px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.gateway-language-heading .gateway-tools-close{margin-inline-end:-8px}
.gateway-language-search{display:flex;flex:none;align-items:center;gap:10px;min-height:48px;padding:0 12px;border:1px solid #66736b;border-radius:var(--public-radius-control);background:#1d2a22;color:#dce3de}
.gateway-language-search>svg{width:18px;height:18px;flex:none}
.gateway-language-search input{width:100%;min-width:0;min-height:46px;padding:10px 0;border:0;background:none;color:#fff;font:inherit;font-size:16px;line-height:1.5;outline:none}
.gateway-language-search input::placeholder{color:#bac6bd;opacity:1}
.gateway-language-search:focus-within{outline:2px solid var(--public-focus-color);outline-offset:3px}
.gateway-language-count{flex:none;margin:10px 2px 8px;color:#bac6bd;font-family:var(--font-family-mono);font-size:11px;line-height:1.5;text-align:end}
.gateway-language-results{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#68766c transparent;padding:3px;margin:0 -3px}
.gateway-language-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:48px;padding:10px 12px;border:0;border-radius:var(--public-radius-control);background:none;color:#fff;font:inherit;text-align:start}
.gateway-language-choice:hover,.gateway-language-choice[aria-pressed=true]{background:#293a2e}
.gateway-language-choice:focus-visible{outline:2px solid var(--public-focus-color);outline-offset:-2px}
.gateway-language-choice-copy{display:flex;flex-direction:column;align-items:start;min-width:0;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.gateway-language-english{color:#bac6bd;font-size:12px}
.gateway-language-choice-check{flex:none;width:18px;height:18px;visibility:hidden}
.gateway-language-choice-check svg{display:block;width:100%;height:100%}
.gateway-language-choice[aria-pressed=true] .gateway-language-choice-check{visibility:visible}
.gateway-language-picker .gateway-tools-close:focus-visible{outline:2px solid var(--public-focus-color);outline-offset:0}
[dir=rtl] .gateway-language-picker{inset:auto auto 24px 24px}
@media(max-width:767px){.gateway-language-picker,[dir=rtl] .gateway-language-picker{inset:auto 16px 16px;width:calc(100vw - 32px);max-height:min(540px,calc(100svh - 32px));padding:18px}}
.gateway-status:empty{display:none}
.gateway-skip{position:fixed;z-index:20;left:24px;top:16px;transform:translateY(-180%);padding:12px 18px;color:var(--public-action);background:var(--public-ground);border-radius:var(--public-radius-control);font-weight:600}.gateway-skip:focus{transform:none}

.gateway-stage,.gateway-film,.gateway-poster,.gateway-video,.gateway-shade{position:absolute;inset:0}.gateway-stage{z-index:-1}.gateway-film{overflow:hidden}.gateway-poster{display:block}.gateway-poster img,.gateway-video{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--gateway-object-position,70% 50%)}.gateway-video{opacity:0;transition:opacity .24s ease}.gateway-shell[data-gateway-frame='ready'] .gateway-video{opacity:1}
/* Gentle top and bottom shading protects the small type while the centre of
   the film stays clear. The rail supplies its own local contrast. */
.gateway-shade{background:linear-gradient(180deg,rgb(6 16 9 / .6),rgb(7 18 11 / .16) 25%,transparent 44%,rgb(11 23 14 / .04) 57%,rgb(9 23 13 / .78) 100%);pointer-events:none}

[dir=rtl] .gateway-header{direction:ltr}[dir=rtl] .gateway-nav{direction:rtl}[dir=rtl] .gateway-content{direction:rtl}[dir=rtl] .gateway-content>:is(.gateway-intro,.gateway-agents-label,.gateway-includes-label){direction:rtl;text-align:right}[dir=rtl] :is(.gateway-paths,.gateway-includes){direction:rtl;align-items:stretch}[dir=rtl] :is(.gateway-path,.gateway-include){text-align:right}
@media(prefers-reduced-motion:no-preference){.gateway-path:hover .gateway-agent-symbol{transform:translateY(-2px)}}

/* Tools and Skills Hub have separate compact targets beneath the rail. */
.gateway-tools-trigger{display:flex;flex:none;align-items:center;gap:8px;width:auto;max-width:100%;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:none;color:var(--gateway-ink);font:inherit;font-size:12px;line-height:1.5;text-align:start}
.gateway-tools-trigger>span{min-width:0;overflow-wrap:anywhere}
.gateway-tools-trigger svg{width:16px;height:16px;flex:none;margin-inline-start:auto}
.gateway-tools-trigger:focus-visible{outline:2px solid var(--public-focus-color);outline-offset:4px}
.gateway-tools-trigger:hover{color:var(--public-accent)}
.gateway-tools-panel{display:none;position:fixed;inset:auto 24px 24px auto;z-index:30;margin:0;width:min(520px,calc(100vw - 32px));max-height:calc(100svh - 40px);overflow:auto;overscroll-behavior:contain;padding:26px;border:1px solid #3d4540;border-radius:var(--public-radius-surface);background:#152019;color:#fff;box-shadow:0 24px 80px rgb(0 0 0 / .45);font-family:var(--font-family-sans);text-align:start}
.gateway-tools-panel:popover-open{display:block}
.gateway-tools-panel[data-gateway-tools-fallback][data-open=true]{display:block}
.gateway-tools-panel::backdrop{background:rgb(0 0 0 / .35)}
.gateway-tools-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}
.gateway-tools-heading h2{margin:0;font-size:22px;font-weight:600;line-height:1.35}
.gateway-tools-maker{display:block;margin-top:0;font-size:12px;color:#b8c3bb;margin-bottom:6px}
.gateway-tools-close{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:none;color:#fff}
.gateway-tools-close svg{width:22px;height:22px}
.gateway-tools-close:hover{background:rgb(255 255 255 / .08)}
.gateway-tools-panel .gateway-include,.gateway-skills-link{display:grid;grid-template-columns:20px minmax(0,1fr) 20px}
.gateway-tools-panel .gateway-include{min-height:82px;padding:8px 0;color:#fff}
.gateway-tools-panel .gateway-include svg{width:20px;height:20px;margin-top:3px}
.gateway-tools-panel .gateway-tools-arrow{width:20px;height:20px;flex:none;opacity:.85}
.gateway-tools-panel .gateway-include-label{font-size:16px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.gateway-tools-panel .gateway-include-detail{margin-top:6px;font-size:13px;line-height:1.6;color:#cad2cc;font-weight:450}
.gateway-tools-panel .gateway-include:hover .gateway-include-label{color:var(--public-accent)}
.gateway-tools-skills{margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid #424c45}
.gateway-skills-link{align-items:center;gap:14px;min-height:64px;padding:8px 0;color:inherit;text-decoration:none}
.gateway-skills-link svg{width:20px;height:20px}
.gateway-skills-copy{min-width:0}
.gateway-skills-label{margin:0;font-size:16px;font-weight:600;line-height:1.4}
.gateway-skills-count{display:block;margin-top:6px;font-size:13px;line-height:1.6;color:#cad2cc;overflow-wrap:anywhere}
.gateway-skills-link:hover .gateway-skills-label{color:var(--public-accent)}
[dir=rtl] .gateway-skills-link{text-align:right}
.gateway-tools-panel :is(a,button):focus-visible{outline:2px solid var(--public-focus-color);outline-offset:4px;box-shadow:none}
.gateway-tools-workflow{border-top:1px solid #424c45;margin:20px 0 0;padding-top:18px;font-size:14px;line-height:1.7;color:#cad2cc}
.gateway-tools-workflow>span{display:block}
[dir=rtl] .gateway-tools-panel{inset:auto auto 24px 24px}
@media(max-width:767px){
 .gateway-tools-trigger{gap:8px;width:auto}
 .gateway-tools-panel,[dir=rtl] .gateway-tools-panel{inset:auto 0 0;width:100%;max-height:calc(100svh - 24px);padding:16px 20px max(14px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0}
 .gateway-tools-panel:before{content:'';display:block;width:30px;height:3px;margin:0 auto 8px;border-radius:3px;background:rgb(255 255 255 / .28)}
 .gateway-tools-heading{gap:12px;margin-bottom:4px}
 .gateway-tools-heading h2{font-size:19px}
 .gateway-tools-maker{display:none}
 .gateway-tools-panel .gateway-includes{grid-template-columns:1fr;gap:0}
 .gateway-tools-panel .gateway-include{align-items:center;gap:12px;min-height:60px;padding:10px 0;border-radius:0}
 .gateway-tools-panel .gateway-include+.gateway-include{border-top:1px solid rgb(255 255 255 / .1)}
 .gateway-tools-panel .gateway-include svg{margin-top:0}
 .gateway-tools-panel .gateway-include-label{font-size:14px}.gateway-tools-panel .gateway-include-detail{font-size:11px;line-height:1.45;max-width:none;margin-top:3px}
 .gateway-tools-skills{margin-bottom:0;padding-bottom:0;border-color:rgb(255 255 255 / .1)}
 .gateway-skills-link{gap:12px;min-height:60px;padding:10px 0}
 .gateway-skills-label{font-size:14px}.gateway-skills-count{font-size:11px;line-height:1.45;margin-top:3px}
 .gateway-tools-workflow{margin-top:0;padding-top:12px;border-top:0;font-size:11px;line-height:1.5}
}
@media(max-width:359px){.gateway-tools-panel .gateway-includes{grid-template-columns:1fr}}

/* Natural wrapping is available at every width, including translated headings. */
@media(max-width:1100px){
 .gateway-title{font-size:42px}
 .gateway-footer{grid-template-columns:minmax(0,1fr) auto;column-gap:16px}
 .gateway-footer-primary{grid-column:1/-1;justify-content:space-between}
 .gateway-legal{grid-column:1}
 .gateway-utilities{grid-column:2}
}
@media(max-width:767px){
 /* Compact edges leave room for the film; short phone viewports reduce the
    gap before allowing natural scrolling for longer translated copy. */
 .gateway-shell{--gw-inset:20px;--gateway-muted:color-mix(in srgb,var(--gateway-ink) 76%,transparent);min-height:100dvh;padding-top:env(safe-area-inset-top)}
 .gateway-header{padding:8px var(--gw-inset);gap:8px}
 .gateway-brand{font-size:23px}
 .gateway-nav{font-size:12px}
 .gateway-nav a,.gateway-nav .gateway-login{padding-inline:6px}
 .gateway-nav .gateway-signal{padding-inline:2px}
 .gateway-signal-heading{gap:5px;font-size:12px}
 .gateway-signal-newsletter{display:none}
 .gateway-signal-heading svg{width:12px;height:12px}
 .gateway-content{display:flex;flex-direction:column;align-items:stretch;gap:clamp(60px,calc(100dvh - 600px),170px);min-height:0;padding:17px var(--gw-inset) 0}
 .gateway-content:before{content:none}
 .gateway-intro{padding-bottom:0;max-width:none}.gateway-agent-index{max-width:none}
 .gateway-title{font-size:28px;max-width:17ch;line-height:1.1}
 .gateway-definition{font-size:16px;line-height:1.5;margin-top:11px;max-width:34ch}
 .gateway-agent-index>.gateway-agents-label{margin:0 0 9px;font-size:12px}
 .gateway-paths{grid-template-columns:1fr;gap:0;padding:2px 14px}
 .gateway-agent-row{--gateway-agent-columns:19px minmax(0,1fr) 14px;padding:0}
 .gateway-path{gap:4px 10px;align-items:center;min-height:68px;padding:10px 0}
 .gateway-path:after{grid-column:3;grid-row:1/3;font-size:15px}
 .gateway-agent-symbol{width:19px;height:19px}
 .gateway-path-copy{gap:3px 8px}
 .gateway-path-name{font-size:14px}
 .gateway-path-role{font-size:11px}
 .gateway-path-description{grid-column:2;grid-row:2;font-size:12px;line-height:1.5}
 .gateway-agent-utilities{gap:12px;margin-top:2px}
 .gateway-tools-trigger{min-height:44px;margin:0;gap:8px;font-size:11px;max-width:100%}
 .gateway-tools-trigger svg{width:16px;height:16px}
 .gateway-include-detail{max-width:none}
 .gateway-footer{display:flex;flex-wrap:wrap;padding:0 var(--gw-inset) max(10px,env(safe-area-inset-bottom));column-gap:12px;row-gap:0}
 .gateway-footer-primary{width:100%}
 .gateway-utilities{margin-inline-start:auto}
 .gateway-footer .gateway-contact-sales{min-height:44px}
 .gateway-footer .gateway-contact-sales:before{inset:0}
 .gateway-footer .gateway-contact-sales{font-size:11px}
 .gateway-legal{min-width:0;flex-wrap:wrap;gap:0 12px;font-size:11px}
 .gateway-legal>a{max-width:100%;min-height:44px;overflow-wrap:anywhere}
 .gateway-legal>a:before{inset:0}
 .gateway-language-control{min-height:44px}
 .gateway-language-name,.gateway-language-chevron{display:none}
 .gateway-language-code{display:inline}
 .gateway-stage{position:absolute}
 .gateway-poster img,.gateway-video{object-position:var(--gateway-object-position,50% 40%)}
}
/* The quiet frame (phones). The first screen is the film, the name, one account
   action and the headline in the lower third, where the film is jacket rather
   than face. "Meet our agents" starts at the fold; below it, on solid ground,
   come the agents, Explore tools and SIGNAL, the country count with the
   rotating company marks, then the footer. The page scrolls; the film stays
   one screen tall and fades into the ground. */
@media(max-width:767px){
 .gateway-shell{min-height:100svh;overflow:visible;overflow-x:clip}
 .gateway-stage{top:0;right:0;bottom:auto;left:0;height:100svh}
 .gateway-shade{background:linear-gradient(180deg,rgb(6 16 9 / .55) 0%,rgb(7 18 11 / .1) 15%,transparent 30%,transparent 46%,color-mix(in srgb,var(--gateway-ground) 70%,transparent) 74%,var(--gateway-ground) 100%)}
 .gateway-nav{gap:6px;font-size:14px}
 .gateway-nav .gateway-signal{display:none}
 .gateway-nav .gateway-signup,.gateway-nav .gateway-workspace{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border-radius:999px;background:var(--gateway-ink);color:var(--gateway-ground);font-weight:600;text-decoration:none}
 .gateway-nav .gateway-signup:hover,.gateway-nav .gateway-workspace:hover{color:var(--gateway-ground);background:color-mix(in srgb,var(--gateway-ink) 86%,transparent)}
 .gateway-nav .gateway-signup[hidden],.gateway-nav .gateway-workspace[hidden]{display:none}
 .gateway-content{gap:0;padding:0 var(--gw-inset)}
 .gateway-intro{display:flex;flex-direction:column;justify-content:flex-end;min-height:calc(100svh - env(safe-area-inset-top) - 64px - 76px);padding-bottom:22px}
 .gateway-title{font-size:32px;line-height:1.08;max-width:15ch}
 .gateway-definition{font-size:17px;margin-top:12px}
 .gateway-agent-index>.gateway-agents-label{margin:0;padding:28px 0 10px;font-size:18px;font-weight:600;line-height:1.3}
 .gateway-paths{padding:0;border:0;border-radius:0;background:none}
 .gateway-agent-row{border-top:1px solid color-mix(in srgb,var(--gateway-ink) 13%,transparent)}
 .gateway-agent-row:last-child{border-bottom:1px solid color-mix(in srgb,var(--gateway-ink) 13%,transparent)}
 .gateway-agent-row{--gateway-agent-columns:22px minmax(0,1fr) 16px}
 .gateway-path{min-height:74px;padding:14px 0;gap:4px 14px}
 .gateway-agent-symbol{width:22px;height:22px}
 .gateway-path-name{font-size:17px}
 .gateway-path-role{font-size:13px}
 .gateway-path-description{font-size:14px}
 .gateway-agent-utilities{justify-content:flex-start;gap:22px;margin-top:4px}
 .gateway-tools-trigger{font-size:13px}
 .gateway-signal-inline:not([hidden]){display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;border:0;background:none;color:var(--gateway-ink);font:inherit;font-size:13px;font-weight:500;cursor:pointer}
 .gateway-signal-inline .gateway-signal-brand{font-weight:600;letter-spacing:.04em}
 .gateway-signal-inline svg{width:16px;height:16px}
 .gateway-signal-inline:focus-visible{outline:2px solid var(--public-focus-color);outline-offset:4px}
 .gateway-footer{order:4;padding-top:6px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
}
@media(max-width:359px){
 .gateway-shell{--gw-inset:16px}.gateway-title{font-size:28px}.gateway-definition{font-size:16px}
 .gateway-brand{font-size:20px}.gateway-nav{font-size:11px}.gateway-nav a,.gateway-nav .gateway-login{padding-inline:4px}
 .gateway-footer{column-gap:8px}.gateway-legal{gap:8px}.gateway-utilities,.gateway-controls{gap:0}
}
/* Short landscape viewports scroll rather than squeezing or overlapping the rail. */
@media(max-width:1023px) and (max-height:500px) and (orientation:landscape){
 .gateway-shell{--gw-inset:max(22px,env(safe-area-inset-left),env(safe-area-inset-right));min-height:100dvh;padding-top:env(safe-area-inset-top)}
 .gateway-stage{position:absolute}
 .gateway-content{padding-top:18px;gap:60px}
 .gateway-title{font-size:28px}
}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Dark gateway surfaces use the lighter teal. Paper dialogs use the darker
   focus color; identity accents stay orange. Re-declare the ring here so its
   custom-property references resolve inside the dialog's color scope. */
.gateway-consent,.gateway-newsletter,.gateway-contact{--public-focus-color:#087e79;--public-focus-ring:0 0 0 2px var(--public-focus-color)}

/* Small native dialogs keep account choices and subscriptions on the film.
   They are paper: white ground, the overlay elevation, the same type scale. */
.gateway-consent,.gateway-newsletter,.gateway-contact{width:min(440px,calc(100% - 48px));max-width:calc(100% - 48px);max-height:calc(100svh - 48px);padding:28px;border:0;border-radius:var(--public-radius-surface);background:var(--public-ground);color:var(--public-ink);font-family:var(--font-family-sans);box-shadow:var(--public-shadow-overlay);overflow:auto;overscroll-behavior:contain}
.gateway-consent{margin:auto 24px 24px auto}.gateway-newsletter{margin:auto}
.gateway-newsletter::backdrop,.gateway-contact::backdrop{background:rgb(12 12 12 / .45);backdrop-filter:blur(3px)}
.dark :is(.gateway-newsletter,.gateway-contact)::backdrop{background:rgb(0 0 0 / .65)}
.dark :is(.gateway-consent,.gateway-newsletter,.gateway-contact){--public-focus-color:#69b5ad}
.gateway-consent-header,.gateway-newsletter-header,.gateway-contact-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.gateway-consent-title,.gateway-newsletter-title,.gateway-contact-title{margin:2px 0 0;font-size:20.5px;font-weight:620;line-height:1.25;letter-spacing:-.025em;text-wrap:balance;outline:none}
.gateway-consent-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline}
.gateway-consent-title{min-width:0;overflow-wrap:anywhere;hyphens:auto}
.gateway-consent-close{min-height:28px;max-width:100px;padding:4px 0;border:0;background:none;color:var(--public-ink-2);font-size:13px;font-weight:500;line-height:1.4;text-align:end;overflow-wrap:anywhere}
.gateway-consent-close:hover{color:var(--public-accent)}
:is(.gateway-newsletter-close,.gateway-contact-close){position:relative;display:flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--public-ink-2)}:is(.gateway-newsletter-close,.gateway-contact-close):before{content:'';position:absolute;inset:-8px}:is(.gateway-newsletter-close,.gateway-contact-close) svg{width:16px;height:16px}:is(.gateway-newsletter-close,.gateway-contact-close):hover{background:var(--public-surface-2)}
.gateway-consent-description,.gateway-newsletter-description,.gateway-contact-description{margin:12px 0 18px;font-size:15px;line-height:1.5;color:var(--public-ink-2);text-wrap:pretty}
/* Native checkboxes retain browser and assistive-technology behavior. */
.gateway-consent-categories{display:grid;margin:0 0 18px;border-block:1px solid var(--public-hairline)}
.gateway-consent-categories label{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:44px;padding-block:10px;font-size:15px;font-weight:500;line-height:1.45;cursor:pointer;overflow-wrap:anywhere}
.gateway-consent-categories label+label{border-top:1px solid var(--public-hairline)}
.gateway-consent-categories input{appearance:none;display:grid;place-content:center;flex:none;width:18px;height:18px;margin:0;border:1.5px solid var(--public-hairline-strong);border-radius:5px;background:var(--public-ground);color:var(--public-ground);transition:background-color .15s,border-color .15s}
.gateway-consent-categories input:before{content:'';width:9px;height:5px;border:solid currentColor;border-width:0 0 1.7px 1.7px;transform:translateY(-1px) rotate(-45deg);visibility:hidden}
.gateway-consent-categories input:checked{background:var(--public-action);border-color:var(--public-action)}
.gateway-consent-categories input:checked:before{visibility:visible}
.gateway-consent-categories label:hover input{border-color:var(--public-ink-3)}
.gateway-consent-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gateway-consent-actions button{min-height:44px;padding:10px 12px;border-radius:var(--public-radius-control);font-size:14px;font-weight:600;line-height:1.3;text-wrap:balance;overflow-wrap:anywhere;transition:background-color .15s,border-color .15s,color .15s}
.gateway-consent-actions [data-gateway-consent-reject]{background:var(--public-ground);border:1px solid var(--public-hairline-strong);color:var(--public-ink)}
.gateway-consent-actions [data-gateway-consent-reject]:hover{background:var(--public-paper);border-color:var(--public-ink-3)}
.gateway-consent-actions [data-gateway-consent-accept]{background:var(--public-action);border:1px solid var(--public-action);color:var(--public-ground)}
.gateway-consent-actions [data-gateway-consent-accept]:hover{background:color-mix(in srgb,var(--public-action) 88%,var(--public-ground));border-color:color-mix(in srgb,var(--public-action) 88%,var(--public-ground))}
.gateway-consent-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}
.gateway-consent-footer [data-gateway-consent-save]{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-height:44px;max-width:75%;padding:6px 0;border:0;background:none;color:var(--public-ink);font-size:14px;font-weight:600;line-height:1.4;text-align:end;overflow-wrap:anywhere}
.gateway-consent-footer [data-gateway-consent-save] svg{width:14px;height:14px;flex:none}
.gateway-consent-footer [data-gateway-consent-save]:dir(rtl) svg{transform:rotate(180deg)}
.gateway-consent-footer [data-gateway-consent-save]:hover,.gateway-consent-policy:hover{color:var(--public-accent)}
.gateway-consent :is(button,input,a):focus-visible{outline:none;box-shadow:var(--public-focus-ring)}
.gateway-consent-policy,.gateway-newsletter-policy{display:inline-flex;align-items:center;min-height:44px;margin:0;font-size:12.5px;font-weight:500;color:var(--public-ink-2);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--public-hairline-strong)}
@media(forced-colors:active){.gateway-consent-categories input{appearance:auto}.gateway-consent-categories input:before{display:none}.gateway-consent-actions button{border:1px solid ButtonText}}
.gateway-newsletter form{display:flex;flex-direction:column;gap:10px}.gateway-newsletter label{font-size:12.5px;color:var(--public-ink-2)}.gateway-newsletter input{width:100%;min-height:48px;padding:0 16px;border:1px solid var(--public-hairline-strong);border-radius:var(--public-radius-control);background:var(--public-ground);color:var(--public-ink);font:inherit;font-size:16px;line-height:1.4}.gateway-newsletter input::placeholder{font-family:var(--font-family-mono);font-size:14px;color:var(--public-ink-3)}.gateway-newsletter input:focus{outline:none;box-shadow:var(--public-focus-ring)}
.gateway-newsletter button[type=submit]{min-height:44px;padding:10px 16px;border:0;border-radius:var(--public-radius-control);font-size:14px;font-weight:600;line-height:1.45;background:var(--public-action);color:var(--public-ground)}.gateway-newsletter button[type=submit]:disabled{opacity:.65}.gateway-newsletter-note{margin:14px 0 0;font-family:var(--font-family-mono);font-size:12.5px;line-height:1.5;color:var(--public-ink-3)}.gateway-newsletter-status{margin:12px 0 0;font-size:14px;line-height:1.5;color:var(--public-ink)}.gateway-newsletter-status:empty{display:none}
/* Contact Sales: the SIGNAL sheet, a little wider for a short form. Labels sit above
   their fields in the page language; the one filled control is the ink submit. */
.gateway-contact{width:min(480px,calc(100% - 48px));margin:auto}
.gateway-contact-form{display:flex;flex-direction:column;gap:16px}
.gateway-contact-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.gateway-contact-field label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px;font-weight:600;line-height:1.35;color:var(--public-ink)}
/* Sans, not mono: a monospace face breaks the joined letters of Arabic and other connected scripts. */
.gateway-contact-optional{font-size:12px;font-weight:400;color:var(--public-ink-3)}
.gateway-contact-field :is(input,textarea){display:block;width:100%;min-height:48px;margin:0;padding:12px 14px;border:1px solid var(--public-hairline-strong);border-radius:var(--public-radius-control);background:var(--public-ground);color:var(--public-ink);font:inherit;font-size:16px;line-height:1.45;transition:border-color .15s,box-shadow .15s}
.gateway-contact-field textarea{min-height:120px;max-height:40svh;resize:vertical;field-sizing:content}
/* The app's field: the border holds and focus draws the shared teal ring. */
.gateway-contact-field :is(input,textarea):focus{outline:none;box-shadow:var(--public-focus-ring)}
@media(pointer:coarse){.gateway-contact-field textarea{resize:none}}
@media(pointer:fine){.gateway-contact-field input{min-height:44px;padding-block:10px}.gateway-contact-submit,.gateway-contact-done{min-height:44px;padding-block:10px}}
.gateway-contact-field :is(input,textarea):user-invalid{border-color:var(--public-danger)}
.gateway-contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}
.gateway-contact-submit,.gateway-contact-done{min-height:48px;padding:12px 16px;border-radius:var(--public-radius-control);font-size:15px;font-weight:600;line-height:1.35;transition:background-color .15s,border-color .15s,opacity .15s}
.gateway-contact-submit{margin-top:4px;border:1px solid var(--public-action);background:var(--public-action);color:var(--public-ground)}
.gateway-contact-submit:hover{background:color-mix(in srgb,var(--public-action) 88%,var(--public-ground))}
.gateway-contact-submit:disabled{opacity:.65;cursor:progress}
.gateway-contact-status{margin:0;font-size:14px;line-height:1.5;color:var(--public-danger)}.gateway-contact-status:empty{display:none}
.gateway-contact-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 16px;margin:20px 0 0;padding-top:8px;border-top:1px solid var(--public-hairline);font-size:12.5px;line-height:1.5;color:var(--public-ink-3)}
.gateway-contact-footer a{display:inline-flex;align-items:center;min-height:36px;font-weight:500;color:var(--public-ink-2);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--public-hairline-strong)}
.gateway-contact-footer a:hover{color:var(--public-accent)}
.gateway-contact-success{display:flex;flex-direction:column;align-items:flex-start;margin-top:20px}
.gateway-contact-success-mark{display:grid;place-items:center;width:40px;height:40px;margin-bottom:16px;border-radius:50%;background:var(--public-assurance-wash);color:var(--public-assurance)}.gateway-contact-success-mark svg{width:20px;height:20px;stroke-width:2}
.gateway-contact-success-title{margin:0;font-size:17px;font-weight:620;line-height:1.3;letter-spacing:-.015em;outline:none}
.gateway-contact-success-body{margin:6px 0 24px;font-size:15px;line-height:1.5;color:var(--public-ink-2);text-wrap:pretty}
.gateway-contact-done{align-self:stretch;border:1px solid var(--public-hairline-strong);background:var(--public-ground);color:var(--public-ink)}
.gateway-contact-done:hover{background:var(--public-paper);border-color:var(--public-ink-3)}
.gateway-contact :is(button,a,input,textarea):focus-visible{outline:none;box-shadow:var(--public-focus-ring)}
@media(max-width:767px){.gateway-consent,.gateway-newsletter,.gateway-contact{width:calc(100% - 32px);max-width:calc(100% - 32px);max-height:calc(100svh - 32px);margin:auto 16px 16px;padding:24px}.gateway-consent-categories{gap:0}}
@media(max-width:360px){.gateway-consent,.gateway-newsletter,.gateway-contact{padding:20px}.gateway-consent-header{gap:10px}.gateway-consent-actions{gap:8px}.gateway-consent-actions button{padding-inline:8px}}

/* Experience ↔ app uses /gateway/signature-motion.css, linked beside this
   sheet in the head. It shares one motion contract with the application.
   Cross-origin destinations continue to navigate normally. */
@view-transition{navigation:auto}
.gateway-brand-wordmark{view-transition-name:prompeteer-wordmark}
.gateway-path[data-gateway-path=skilling] .gateway-agent-symbol{view-transition-name:gateway-path-skilling}
.gateway-path[data-gateway-path=discovery] .gateway-agent-symbol{view-transition-name:gateway-path-discovery}

/* A selected link responds immediately while the browser loads its destination.
   Keep the film and other links still: Signature cut owns the page transition. */
.gateway-shell.is-leaving[data-leaving-path=skilling] .gateway-path[data-gateway-path=skilling],
.gateway-shell.is-leaving[data-leaving-path=discovery] .gateway-path[data-gateway-path=discovery],
.gateway-shell.is-leaving[data-leaving-path=finops] .gateway-path[data-gateway-path=finops],
.gateway-shell.is-leaving[data-leaving-path=zero-slop] .gateway-path[data-gateway-path=zero-slop]{opacity:.8;color:var(--public-accent);transition-duration:0s}

/* Trust strip (server/cinematic-gateway-trust.ts renders it, gateway/trust.js swaps the logos).
   A frosted band after the product choices that the film shows through. Start side: the company-reported
   country count. End side: the rotating logo window.
   Mobile first: a 32px band with one logo on phones; 36px with seven
   slots from 768px, with the eyebrow added from 1100px. trust.js reads
   --trust-slots, so the slot count lives here only. Marks are white at 62% ink: never a colour logo,
   never the accent. Slots are wide enough for a wordmark or a wide logo; the single phone
   slot leaves the country count room to breathe. */
.gateway-trust{margin-top:24px;--trust-band:32px;--trust-size:13px;--trust-slot:clamp(64px,calc(100vw - 240px),100px);--trust-gutter:8px;--trust-slots:1;--trust-mark:color-mix(in srgb,var(--gateway-ink) 62%,transparent);position:relative;z-index:4;display:flex;flex:none;align-items:center;justify-content:space-between;gap:10px;height:var(--trust-band);padding:0 var(--gw-inset);border-bottom:1px solid color-mix(in srgb,var(--gateway-ink) 10%,transparent);background:color-mix(in srgb,var(--gateway-ground) 30%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.15);backdrop-filter:blur(18px) saturate(1.15);color:color-mix(in srgb,var(--gateway-ink) 80%,transparent);font-size:11.5px;font-weight:500;line-height:1.2;white-space:nowrap}
.gateway-trust p{margin:0}
/* Keep the full country count in the accessible text when a long translation is clipped. */
.gateway-trust-reach{min-width:0;overflow:hidden;text-overflow:ellipsis}
.gateway-trust-num{font-weight:650;color:var(--gateway-ink)}
.gateway-trust-companies{display:flex;flex:none;align-items:center;height:100%}
/* Hidden below 1100px but still the hidden list's accessible name. */
.gateway-trust-eyebrow{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;color:color-mix(in srgb,var(--gateway-ink) 64%,transparent)}
/* Fixed slots, one fixed-size face each: a swap changes a face's viewBox and children, and
   nothing reflows. Every mark (a vector, a monochrome image or a wordmark) is one SVG fitted into
   the face box, its optical height built into its viewBox. --trust-box (1.6) must equal
   TRUST_MARK_BOX in shared/trust-marks.ts. Monochrome images are white; .62 is the same 62% as
   --trust-mark. Wordmarks are Manrope 600. */
.gateway-trust-window{--trust-box:1.6;display:flex;flex:none;width:calc(var(--trust-slot) * var(--trust-slots));height:100%;color:var(--trust-mark)}
.gateway-trust-slot{display:grid;flex:none;place-items:center;width:var(--trust-slot);height:100%}
.gateway-trust-slot:nth-child(n+2){display:none}
.gateway-trust-slot[data-gateway-trust-empty]{visibility:hidden}
.gateway-trust-face{grid-area:1/1;display:block;width:calc(100% - var(--trust-gutter));height:calc(var(--trust-size) * var(--trust-box));fill:currentColor;pointer-events:none}
.gateway-trust-face image{opacity:.62}
.gateway-trust-face text{font-family:var(--font-family-sans);font-weight:600;letter-spacing:0}
.gateway-trust-face[data-gateway-trust-face=idle]{opacity:0}
@media(min-width:768px){
 .gateway-trust{--trust-band:36px;--trust-size:15px;--trust-slot:clamp(44px,calc((100vw - 300px) / 7),88px);--trust-gutter:12px;--trust-slots:7;gap:16px;font-size:12.5px}
 .gateway-trust-slot:nth-child(n+2){display:grid}
 .gateway-trust-slot:nth-child(n+8){display:none}
}
@media(min-width:1100px){
 /* Keep seven restrained, evenly spaced marks as the viewport grows. */
 .gateway-trust{--trust-slot:88px}
 /* Room for everything: the count keeps its width and a long eyebrow is what gives way. */
 .gateway-trust-reach{flex-shrink:0}
 .gateway-trust-companies{flex:0 1 auto;min-width:0;gap:14px}
 .gateway-trust-eyebrow{position:static;width:auto;height:auto;margin:0;min-width:0;overflow:hidden;clip:auto;text-overflow:ellipsis}
}
/* Without a backdrop blur, or when asked for less transparency, the band is solid enough to read. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.gateway-trust{background:color-mix(in srgb,var(--gateway-ground) 62%,transparent)}}
@media(prefers-reduced-transparency:reduce){.gateway-trust{background:color-mix(in srgb,var(--gateway-ground) 88%,transparent);-webkit-backdrop-filter:none;backdrop-filter:none}}
/* The quiet frame (phones): the trust band leaves the top of the film and
   sits below the agents, full width, with four rotating slots. It follows the
   base trust rules so it wins on equal specificity. */
@media(max-width:767px){
 .gateway-shell>.gateway-trust{order:3;margin-top:24px}
 .gateway-trust{position:static;height:auto;--trust-band:46px;--trust-size:15px;--trust-slots:4;--trust-slot:calc((100vw - 2 * var(--gw-inset)) / 4);--trust-gutter:16px;flex-direction:column;align-items:flex-start;gap:6px;padding:22px var(--gw-inset) 20px;border-top:1px solid color-mix(in srgb,var(--gateway-ink) 13%,transparent);border-bottom:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;font-size:14px;white-space:normal}
 .gateway-trust-companies{width:100%;height:var(--trust-band)}
 .gateway-trust-slot:nth-child(n+2){display:grid}
 .gateway-trust-slot:nth-child(n+5){display:none}
 .gateway-trust-reach{flex:none}
}

.gateway-consent::backdrop{background:transparent;backdrop-filter:none}
.gateway-consent-options{font-size:14px;line-height:1.4}
.gateway-consent-options summary{display:list-item;min-height:44px;padding-block:12px;cursor:pointer;font-weight:550}
.gateway-consent-options .gateway-consent-categories{margin-bottom:0}
.gateway-consent-options .gateway-consent-footer{justify-content:flex-end;margin-top:0}
.gateway-consent> .gateway-consent-footer{margin-top:4px}
.gateway-consent :is(summary):focus-visible{outline:2px solid var(--public-focus-color);outline-offset:4px}
@media(max-width:767px){.gateway-consent{padding:20px}.gateway-consent-description{margin-bottom:14px}}

/* Box shadows disappear in forced colors. Keep keyboard focus visible and
   leave the language search's indicator on its one composite field shell. */
@media(forced-colors:active){
  :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid Highlight!important;box-shadow:none!important}
  .gateway-language-control:focus-within,.gateway-language-search:focus-within{outline:2px solid Highlight!important;box-shadow:none!important}
  .gateway-language-search input:focus{outline:none!important;box-shadow:none!important}
}
