/* Public information pages only. The map and receiver application are independent. */
.public-product { --accent:#b86405; --green:#27735a; --line:#d9e1dd; background:#f8f9f5; color:#192c35; }
.public-product .public-main { width:min(1280px,calc(100% - 64px)); max-width:1280px; margin:0 auto; padding:0 0 80px; }
.public-product .public-header { border-bottom:3px solid #df8a16; }
.public-product .public-wordmark__mark { display:none; }
.public-product .public-header__actions > a:not(.is-primary) { display:none; }
.public-product .public-header__actions a.is-primary { display:inline-flex; }
.public-product .public-nav { gap:24px; }
.public-product h1,.public-product h2,.public-product h3 { font-family:"Source Sans 3",Arial,sans-serif; letter-spacing:-.04em; line-height:1.06; text-transform:none; }
.public-product h1 { font-size:clamp(42px,5.4vw,76px); margin:18px 0 24px; font-weight:700; }
.public-product h2 { font-size:clamp(30px,3vw,44px); margin:12px 0 20px; }
.public-product h3 { font-size:25px; line-height:1.2; margin:14px 0; }
.public-product p { line-height:1.65; }
.public-product a { text-underline-offset:4px; }
.public-product :focus-visible { outline:3px solid #b56406; outline-offset:5px; }
.public-product .public-breadcrumbs { margin:26px 0 0; font-size:14px; }
.lp-eyebrow { font:600 12px/1.6 "IBM Plex Mono",monospace; text-transform:uppercase; letter-spacing:.13em; color:var(--accent); }
.lp-hero { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:56px; padding:64px 0 66px; }
.lp-hero--text { display:block; max-width:900px; padding-bottom:42px; }
.lp-hero em { color:var(--accent); font-style:normal; }
.lp-hero .lp-lede { font-size:21px; max-width:600px; color:#536670; margin:0 0 28px; }
.lp-actions { display:flex; flex-wrap:wrap; gap:12px; margin:26px 0 0; align-items:center; }
.lp-button { display:inline-flex; justify-content:center; align-items:center; gap:18px; padding:14px 22px; border:1px solid #b6c5bf; border-radius:9px; color:#192c35; background:transparent; text-decoration:none; font:700 17px/1.4 "Source Sans 3",sans-serif; cursor:pointer; transition:background .18s,transform .18s; }
.lp-button:hover { background:#e8eee8; transform:translateY(-2px); }
.lp-button--primary { background:#e28a0c; border-color:#e28a0c; color:#14262e; box-shadow:0 8px 25px #be6a0614; }
.lp-button--primary:hover { background:#f6a832; }
.lp-button--dark { background:#192c35; color:#fff; border-color:#192c35; }
.lp-button--dark:hover { background:#2b424c; }
.lp-subline { color:#61706f; font-size:14px; margin-top:18px; }
.lp-section { padding:58px 0; border-top:1px solid var(--line); }
.lp-section-head { display:flex; gap:40px; align-items:end; justify-content:space-between; margin-bottom:28px; }
.lp-section-head > p { max-width:410px; color:#536670; margin:0 0 20px; }
.lp-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.lp-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.lp-card { border:1px solid var(--line); border-radius:17px; padding:28px; background:#fff; position:relative; }
.lp-card p { color:#536670; margin:12px 0 18px; }
.lp-card a:not(.lp-button) { color:#915106; font-weight:700; }
.lp-card .lp-number { font:500 12px/1.4 "IBM Plex Mono",monospace; color:#6b7d79; }
.lp-card--green { background:#edf5ee; border-color:#c7dfcf; }
.lp-card--amber { background:#fff5e6; border-color:#ebd8b9; }
.lp-card--dark { background:#192c35; color:#fff; border-color:#192c35; }
.lp-card--dark p { color:#bacccf; }
.lp-card--dark a:not(.lp-button) { color:#ffc46d; }
.lp-icon { display:flex; width:48px; height:48px; align-items:center; justify-content:center; border-radius:12px; background:#fff1db; color:#aa6006; }
.lp-icon svg { width:28px; height:28px; }
.lp-band { background:#192c35; color:#fff; padding:44px; border-radius:20px; display:flex; justify-content:space-between; align-items:center; gap:35px; margin:22px 0; }
.lp-band h2 { margin:10px 0; }
.lp-band p { color:#b7c9cc; max-width:670px; margin-bottom:0; }
.lp-band .lp-eyebrow { color:#efb75c; }
.lp-band .lp-actions { flex-shrink:0; margin:0; }
.lp-strip { display:flex; gap:32px; flex-wrap:wrap; padding:22px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:#45695a; font-weight:600; }
.lp-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; counter-reset:flow; margin:28px 0; padding:0; list-style:none; }
.lp-flow li { padding:22px; background:#eef2ed; border-radius:12px; counter-increment:flow; }
.lp-flow li::before { content:"0" counter(flow); display:block; color:#a35c09; font:500 13px "IBM Plex Mono",monospace; margin-bottom:14px; }
.lp-flow strong { display:block; font-size:21px; }
.lp-flow p { font-size:16px; color:#52676c; margin-bottom:0; }
.lp-scene { margin:0; border:1px solid #39525b; border-radius:22px; background:#10252e; color:#d8e6e5; overflow:hidden; box-shadow:0 22px 60px #163a2921; min-width:0; }
.lp-scene-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 23px; border-bottom:1px solid #324951; font:400 11px/1.5 "IBM Plex Mono",monospace; letter-spacing:.06em; }
.lp-scene-bar span::before { content:""; display:inline-block; background:#87d6ae; width:6px; height:6px; border-radius:50%; margin-right:10px; }
.lp-scene button { color:#cddedb; border:1px solid #526863; background:transparent; border-radius:6px; padding:7px 10px; font:400 12px "Source Sans 3",sans-serif; cursor:pointer; }
.lp-scene svg { display:block; width:100%; height:auto; }
.lp-scene figcaption { display:flex; justify-content:space-between; gap:20px; padding:18px 23px; font-size:14px; border-top:1px solid #324951; }
.lp-scene figcaption span { color:#84a5ad; font:400 10px/1.5 "IBM Plex Mono",monospace; text-align:right; }
.lp-scene svg text { font:11px "IBM Plex Mono",monospace; fill:#a9c1c2; letter-spacing:.06em; }
.lp-scene svg .lp-svg-title { font-size:15px; fill:#f6eacb; }
.lp-route { stroke-dasharray:8 10; animation:lp-route 12s linear infinite; }
.lp-signal { transform-box:fill-box; transform-origin:center; animation:lp-signal 4s ease-out infinite; }
.lp-signal--later { animation-delay:-2s; }
.lp-track { offset-path:path("M 390 310 Q 285 210 355 140 T 485 65"); offset-rotate:auto; animation:lp-track 16s linear infinite; }
.lp-scene[data-paused="true"] * { animation-play-state:paused!important; }
@keyframes lp-route { to { stroke-dashoffset:-180; } }
@keyframes lp-signal { 0%{opacity:.65;transform:scale(.55)} 100%{opacity:0;transform:scale(1.8)} }
@keyframes lp-track { from{offset-distance:0%} to{offset-distance:100%} }
.lp-scenarios { display:flex; gap:8px; flex-wrap:wrap; margin:18px 0 0; }
.lp-scenarios button,.lp-filters button { font:600 15px "Source Sans 3",sans-serif; padding:10px 16px; border:1px solid #c5d2cb; background:#fff; color:#37504f; border-radius:30px; cursor:pointer; }
.lp-scenarios button[aria-pressed="true"],.lp-filters button[aria-pressed="true"] { background:#192c35; color:#fff; border-color:#192c35; }
.lp-scenario-copy { color:#536670; font-size:15px; min-height:3.3em; margin:14px 0 0; }
.lp-search { display:flex; flex-wrap:wrap; gap:20px; align-items:end; margin:0 0 30px; }
.lp-search label { display:block; font-weight:700; margin-bottom:8px; }
.lp-search input { width:100%; border:1px solid #bacbc4; border-radius:9px; background:#fff; padding:14px 16px; font:400 18px "Source Sans 3",sans-serif; color:#192c35; }
.lp-search > div:first-child { flex:1 1 350px; }
.lp-filters { display:flex; flex-wrap:wrap; gap:8px; }
.lp-search-status { color:#61736d; font-size:15px; }
.lp-guide-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:55px; align-items:start; }
.lp-toc { position:sticky; top:25px; border-left:2px solid #d9e3db; padding:0 0 0 20px; }
.lp-toc strong { font-size:13px; text-transform:uppercase; letter-spacing:.1em; }
.lp-toc a { display:block; padding:8px 0; color:#53666b; font-size:16px; text-decoration:none; }
.lp-toc a:hover { color:#a15903; }
.lp-guide-content { max-width:850px; }
.lp-guide-content section { padding:8px 0 30px; margin-bottom:28px; border-bottom:1px solid var(--line); scroll-margin-top:25px; }
.lp-guide-content h2 { font-size:32px; }
.lp-guide-content h3 { font-size:22px; }
.lp-guide-content p,.lp-guide-content li { font-size:18px; color:#435c64; line-height:1.75; }
.lp-guide-content li { padding:3px 0; }
.lp-guide-content a { color:#975205; }
.lp-guide-content code:not(pre code) { font-size:.88em; background:#e9eeea; padding:2px 5px; border-radius:4px; overflow-wrap:anywhere; }
.lp-callout { background:#edf4ec; border-left:3px solid #398765; border-radius:0 12px 12px 0; padding:20px 24px; margin:26px 0; }
.lp-callout p { margin:6px 0; }
.lp-callout--amber { background:#fff1df; border-color:#e28a0c; }
.public-product .code-block { padding:28px; border-radius:14px; background:#192c35; color:#f5f4e9; margin:22px 0; }
.public-product .code-block pre { white-space:pre-wrap; overflow-wrap:anywhere; padding-top:15px; }
.public-product .code-block code { font:400 16px/1.8 "IBM Plex Mono",monospace; }
.lp-table-wrap { overflow:auto; margin:20px 0; }
.lp-table { width:100%; border-collapse:collapse; text-align:left; font-size:17px; }
.lp-table th,.lp-table td { padding:16px 18px; border:1px solid #d7e1db; vertical-align:top; }
.lp-table th { background:#eaf0e9; font-weight:700; }
.lp-table td { background:#fff; line-height:1.6; }
.lp-file { display:grid; grid-template-columns:180px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid var(--line); align-items:start; }
.lp-file code { font-size:16px; }
.lp-file p { margin:0; }
.lp-faq details { border-bottom:1px solid var(--line); padding:18px 0; }
.lp-faq summary { cursor:pointer; font-weight:700; font-size:19px; }
.lp-faq details p { max-width:850px; color:#536670; }
.lp-inset { padding:28px; border-radius:16px; background:#edf3ed; }
.lp-inline-result { padding:14px; color:#536670; }
.public-product .public-footer { margin-top:0; }
@media(max-width:1050px) {
 .lp-hero { gap:30px; }
 .public-product .public-nav { gap:13px; }
 .lp-grid { gap:15px; }
 .lp-card { padding:23px; }
 .lp-guide-layout { grid-template-columns:190px minmax(0,1fr); gap:30px; }
}
@media(max-width:760px) {
 .public-product .public-main { width:calc(100% - 36px); padding-bottom:40px; }
 .lp-hero { grid-template-columns:1fr; padding:38px 0; gap:30px; }
 .lp-hero .lp-lede { font-size:19px; }
 .lp-grid,.lp-grid--two { grid-template-columns:1fr; }
 .lp-section { padding:35px 0; }
 .lp-section-head,.lp-band { display:block; }
 .lp-band { padding:28px; }
 .lp-band .lp-actions { margin-top:24px; }
 .lp-flow { grid-template-columns:1fr 1fr; }
 .lp-guide-layout { grid-template-columns:1fr; gap:25px; }
 .lp-toc { position:static; display:flex; flex-wrap:wrap; gap:0 18px; border-left:0; border-bottom:1px solid var(--line); padding:0 0 20px; }
 .lp-toc strong { width:100%; }
 .lp-toc a { font-size:15px; }
 .lp-strip { gap:10px; flex-direction:column; }
 .lp-file { grid-template-columns:1fr; gap:8px; }
}
@media(max-width:400px) { .lp-flow{grid-template-columns:1fr} .lp-scene-bar,.lp-scene figcaption{padding:13px} .lp-actions .lp-button{width:100%} }
@media(prefers-reduced-motion:reduce) { .public-product *, .public-product *::before,.public-product *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } .lp-signal{opacity:.35} .lp-track{offset-distance:50%} }
@media print { .lp-scene button,.lp-scenarios,.lp-search,.lp-toc{display:none} .lp-guide-layout{display:block} .lp-card, .lp-guide-content section{break-inside:avoid} }
.lp-feedback{max-width:760px;padding:clamp(20px,4vw,36px);border:1px solid var(--lp-line,#dce2de);border-top:4px solid #df8a16;border-radius:18px;background:#fff;box-shadow:0 12px 30px #17263008}
.lp-feedback fieldset{border:0;margin:0;padding:0;min-width:0}.lp-feedback label{display:block;font-size:16px;font-weight:700;margin:18px 0 8px}.lp-feedback label:first-of-type{margin-top:0}.lp-feedback label span{font-weight:400;color:#59656b}.lp-feedback input,.lp-feedback textarea{display:block;box-sizing:border-box;width:100%;border:1px solid #b9c8c3;border-radius:9px;padding:13px 14px;background:#fff;color:#172630;font:16px/1.5 Arial,sans-serif}.lp-feedback textarea{resize:vertical;min-height:150px}.lp-feedback :focus-visible{outline:3px solid #ac600b;outline-offset:3px}.lp-feedback .lp-feedback-note{font-size:14px;line-height:1.6;color:#59656b;margin:8px 0 18px}.lp-feedback [role=status]{font-size:16px;line-height:1.6;margin:18px 0 0}.lp-feedback [role=status]:empty{display:none}.lp-feedback button:disabled{opacity:.65;cursor:default}.lp-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
