/* Public-page footer only. Active tool workspaces do not load this stylesheet. */
.po-footer {
  --pf-bg: #081522;
  --pf-card: #102538;
  --pf-text: #f3f9ff;
  --pf-soft: #b4c7d7;
  --pf-line: #294153;
  --pf-accent: #72e6ff;
  position: relative;
  isolation: isolate;
  margin-top: clamp(48px, 7vw, 100px);
  color: var(--pf-text);
  font-size: 14px;
}
html[data-theme="light"] .po-footer {
  --pf-bg: #e8f1f8;
  --pf-card: #f8fcff;
  --pf-text: #10283d;
  --pf-soft: #456176;
  --pf-line: #c3d7e6;
  --pf-accent: #087f9f;
}
.po-footer::before { content: ""; position: absolute; z-index: -1; inset: 76px 0 0; background: var(--pf-bg); border-radius: 28px 28px 0 0; }
.po-footer *, .po-footer *::before, .po-footer *::after { box-sizing: border-box; }
/* Share the landing page content width and gutters on desktop. */
.po-footer-inner { width: min(calc(100% - (var(--pixel-fluid-gutter, clamp(12px, 2.35vw, 32px)) * 2)), var(--pixel-landing-content-max, 1680px)); margin-inline: auto; }
.po-footer-card { position: relative; display: flex; align-items: center; min-height: 330px; padding: clamp(24px, 4.5vw, 58px); overflow: hidden; border: 1px solid var(--pf-line); border-radius: 24px; background: radial-gradient(ellipse at 95% 10%, #1bbdda24, transparent 60%), radial-gradient(ellipse at 18% 110%, #7864ee30, transparent 60%), var(--pf-card); box-shadow: 0 18px 50px #00000016; }
.po-footer-card-copy { position: relative; z-index: 1; flex: 1; min-width: 0; }
.po-footer-eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 20px; font-size: 10px; font-weight: 750; letter-spacing: .13em; color: var(--pf-accent); line-height: 1.6; }
.po-footer-eyebrow span { width: 6px; height: 6px; flex: none; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 5px #27bac014; }
.po-footer-card h2 { margin: 0; font-size: clamp(28px, 3.5vw, 46px); font-weight: 760; line-height: 1.13; letter-spacing: -.045em; color: var(--pf-text); }
.po-footer-card h2 span { color: var(--pf-accent); }
.po-footer-intro { margin: 20px 0 26px; max-width: 450px; font-size: 14px; line-height: 1.8; color: var(--pf-soft); }
.po-footer a { text-decoration: none; }
.po-footer-cta { display: inline-flex; min-height: 46px; padding: 12px 18px; align-items: center; justify-content: center; gap: 20px; border: 1px solid transparent; border-radius: 12px; background: var(--pf-text); color: var(--pf-bg); font-weight: 750; font-size: 13px; line-height: 1.5; transition: transform .16s ease, box-shadow .16s ease; }
.po-footer-cta svg, .po-footer-local svg { flex: none; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.po-footer-cta:hover { transform: translateY(-2px); box-shadow: 0 6px 22px #159fb522; }
.po-footer-art { flex: 0 1 340px; width: 36%; max-width: 340px; margin-left: 20px; color: var(--pf-accent); }
.po-footer-art>svg { display: block; width: 100%; height: auto; overflow: visible; }
.po-footer-art svg>g:first-child { opacity: .3; }
.po-footer-pixels { fill: currentColor; opacity: .7; }
.po-footer-pixels rect:nth-child(2n) { fill: #9385ed; }
.po-footer-art-tile { fill: var(--pf-card); stroke: var(--pf-accent); stroke-opacity: .6; }
.po-footer-art-shield { fill: #24c5cd18; stroke: currentColor; stroke-width: 1.5; }
.po-footer-art-check { stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.po-footer-links { display: grid; grid-template-columns: minmax(0, 1.7fr) repeat(3, minmax(0, 1fr)); gap: 32px; padding: 54px 0 40px; }
.po-footer-brand, .po-footer-column { min-width: 0; }
.po-footer-logo { display: inline-flex; min-height: 44px; gap: 9px; align-items: center; color: var(--pf-text); font-size: 20px; font-weight: 800; letter-spacing: -.04em; }
.po-footer-logo img { display: block; flex: none; }
.po-footer-logo>span>span { color: var(--pf-accent); }
.po-footer-brand p { margin: 12px 0 20px; font-size: 14px; line-height: 1.8; color: var(--pf-soft); }
.po-footer-local { display: flex; align-items: center; gap: 8px; max-width: 270px; font-size: 11px; line-height: 1.6; color: var(--pf-soft); }
.po-footer-local svg { width: 17px; height: 17px; color: var(--pf-accent); }
.po-footer-column h3 { margin: 11px 0 14px; font-size: 12px; font-weight: 700; line-height: 1.5; color: var(--pf-text); }
.po-footer-column a, .po-footer-column button { display: flex; align-items: center; min-height: 40px; width: fit-content; max-width: 100%; padding: 8px 0; border: 0; background: none; color: var(--pf-soft); font: inherit; font-size: 12px; line-height: 1.6; text-align: left; cursor: pointer; overflow-wrap: anywhere; }
.po-footer-column a:hover, .po-footer-column button:hover, .po-footer-bottom a:hover { color: var(--pf-accent); text-decoration: underline; text-underline-offset: 4px; }
.po-footer-bottom { display: flex; flex-wrap: wrap; gap: 8px 28px; justify-content: space-between; padding: 24px 0 28px; border-top: 1px solid var(--pf-line); color: var(--pf-soft); font-size: 11px; line-height: 1.8; }
.po-footer-bottom p { margin: 0; }
.po-footer-bottom a { color: var(--pf-text); display: inline-block; padding-block: 5px; }
.po-footer :is(a,button):focus-visible { outline: 2px solid var(--pf-accent); outline-offset: 4px; border-radius: 4px; }
@media (max-width: 760px) {
  .po-footer-inner { width: calc(100% - 32px); }
  .po-footer-card { padding: 30px; min-height: 300px; }
  .po-footer-art { flex-basis: 190px; margin-left: 0; }
  .po-footer-links { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px 20px; padding-top: 36px; }
  .po-footer-brand { grid-column: 1 / -1; }
  .po-footer-brand p br { display: none; }
  .po-footer-column a, .po-footer-column button { min-height: 44px; }
}
@media (max-width: 520px) {
  .po-footer-card { padding: 28px 22px; }
  .po-footer-card h2 { font-size: clamp(27px, 7.4vw, 38px); }
  .po-footer-art { position: absolute; width: 240px; right: -100px; top: -120px; opacity: .25; pointer-events: none; }
  .po-footer-intro { font-size: 13px; }
  .po-footer-intro br { display: none; }
  .po-footer-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .po-footer-column:last-child { grid-column: 1 / -1; }
  .po-footer-bottom { flex-direction: column; }
}
@media (max-width: 300px) {
  .po-footer-inner { width: calc(100% - 20px); }
  .po-footer-card { padding: 24px 16px; border-radius: 18px; }
  .po-footer-eyebrow { font-size: 9px; letter-spacing: .06em; }
  .po-footer-card h2 { font-size: 27px; }
  .po-footer-cta { width: 100%; gap: 10px; padding-inline: 10px; }
  .po-footer-links { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .po-footer-logo { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) { .po-footer-cta { transition: none; } .po-footer-cta:hover { transform: none; } }

/* Social destinations: native links with local, unmodified logo geometry. */
.po-footer-social { display: flex; align-items: center; gap: 8px; margin-top: 20px; }
.po-footer-social-link { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid transparent; border-radius: 12px; background: transparent; color: #fff; transition: transform .18s ease, border-color .18s ease, background-color .18s ease; }
html[data-theme="light"] .po-footer-social-link { color: #000; }
.po-footer-social-link svg { display: block; flex: none; width: 24px; height: 24px; fill: currentColor; }
.po-footer .po-footer-social-link:focus-visible { border-radius: 12px; border-color: var(--pf-accent); background: var(--pf-card); }
@media (hover: hover) and (pointer: fine) {
  .po-footer-social-link:hover { transform: translateY(-2px); border-color: var(--pf-accent); background: var(--pf-card); }
}
@media (prefers-reduced-motion: reduce) {
  .po-footer-social-link { transition: none; }
  .po-footer-social-link:hover { transform: none; }
}

/* v162: public footer refinement, scoped to the existing footer. */
.po-footer::before{inset:0;border-radius:32px 32px 0 0}
.po-footer-inner{padding-top:clamp(28px,5vw,64px)}
.po-footer-card{min-height:300px;border:0;border-radius:28px;background:radial-gradient(ellipse at 100% 0%,#554bc477,transparent 58%),linear-gradient(120deg,#073947,#14345f 65%,#303273);color:#f5fbff;box-shadow:none}
.po-footer-card h2{font-size:clamp(30px,4.2vw,56px);color:#f5fbff}
.po-footer-card h2 span,.po-footer-card .po-footer-eyebrow{color:#91eff0}
.po-footer-intro{color:#d6e8ef;line-height:1.65}
.po-footer-cta{background:#efffff;color:#123545;min-height:48px;border-radius:999px;padding-inline:24px}
.po-footer-art{display:flex;flex-direction:column;align-items:center;gap:16px;flex-basis:280px;width:28%;text-align:center;color:#b6dfed}
.po-footer-brand-tile{display:grid;place-items:center;width:176px;aspect-ratio:1;border:1px solid #80ddeb55;border-radius:38px;background:linear-gradient(140deg,#74dbeb22,#9093ed22);box-shadow:0 16px 32px #00192c55;transform:rotate(-8deg)}
.po-footer-brand-tile img{display:block;width:140px;height:auto;transform:rotate(8deg)}
.po-footer-art>span{font-size:14px;line-height:1.6}
.po-footer-links{padding-block:48px 36px;gap:32px}
.po-footer-column h3{font-size:14px;margin-bottom:16px}
.po-footer-column a,.po-footer-column button{font-size:13px;min-height:44px}
.po-footer .po-footer-connect{margin:24px 0 8px;font-size:12px;font-weight:700;color:var(--pf-text)}
.po-footer-social{margin-top:0;gap:10px}
.po-footer-social-link{border:1px solid var(--pf-line);border-radius:50%;background:transparent}
.po-footer .po-footer-social-link:focus-visible{border-radius:50%}
.po-footer-view-all{font-weight:700;text-decoration:underline!important;text-underline-offset:4px;color:var(--pf-accent)!important}
.po-footer-wordmark{display:flex;align-items:baseline;justify-content:center;white-space:nowrap;max-width:100%;font-size:clamp(32px,13vw,150px);font-weight:850;line-height:1.2;letter-spacing:-.065em;padding:10px 0 24px;color:var(--pf-text);user-select:none}
.po-footer-wordmark>span{color:var(--pf-accent)}
.po-footer-wordmark>i{width:.075em;height:.075em;border-radius:50%;background:#8b88e9;margin-left:.08em;flex:none}
@media(max-width:760px){.po-footer-links{gap:24px}.po-footer-art{flex-basis:190px}.po-footer-brand-tile{width:142px}.po-footer-brand-tile img{width:112px}}
@media(max-width:520px){
 .po-footer-card{padding:28px 24px;min-height:0}.po-footer-art{display:none}.po-footer-card h2{font-size:clamp(29px,8vw,38px)}
 .po-footer-intro{font-size:14px;margin-block:16px 22px}.po-footer-eyebrow{font-size:9px;letter-spacing:.1em}
 .po-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}.po-footer-brand{grid-column:1/-1}
 .po-footer-column:last-child{grid-column:auto}.po-footer-bottom{padding-block:20px;font-size:11px}
}
@media(max-width:300px){.po-footer-card{padding:24px 16px}.po-footer-links{grid-template-columns:minmax(0,1fr)}.po-footer-cta{padding-inline:12px}.po-footer-wordmark{font-size:12vw}}

/* Suppress the rectangular browser tap flash; keep circular keyboard focus. */
.po-footer .po-footer-social-link,
.po-footer .po-footer-social-link:is(:hover,:active,:focus){
  -webkit-tap-highlight-color:transparent;
  background:transparent;
  border-radius:50%;
}
.po-footer .po-footer-social-link:focus-visible{outline:2px solid var(--pf-accent);outline-offset:4px;border-radius:50%}
