:root{
  --menu:28px; --dock:76px;
  --ink:#1D1C1D; --muted:#616061; --line:#E6E3E6; --soft:#F6F5F6;
  --side:#3B1F44; --side-dark:#2B1433; --side-ink:#D8CDE0;
  --go:#1E8E5A; --alert:#E01E5A; --burn:#E8790C; --blue:#1264A3; --sticky:#FFE97A;
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","Segoe UI",Roboto,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:var(--font);font-size:15px;line-height:1.45;color:var(--ink);overflow-x:hidden;
  background:#7486BB;
  background-image:radial-gradient(at 12% 18%,#F4BC86 0,transparent 42%),radial-gradient(at 88% 12%,#CB8DB6 0,transparent 48%),radial-gradient(at 55% 105%,#3F5FA4 0,transparent 62%);
  background-attachment:fixed}
button{font:inherit;color:inherit;cursor:pointer}
button:focus-visible{outline:3px solid #4C9AFF;outline-offset:2px}

/* Menu bar */
.menubar{position:fixed;top:0;left:0;right:0;z-index:70;height:calc(var(--menu) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 14px 0;display:flex;align-items:center;gap:18px;font-size:13px;background:rgba(246,246,248,.7);-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);border-bottom:.5px solid rgba(0,0,0,.12)}
.menubar .home{color:inherit;text-decoration:none;font-weight:700;opacity:.75;white-space:nowrap}
.menubar .home:hover{opacity:1}
.menubar .appname{font-weight:700}
.menubar .menus{display:flex;gap:16px}
.menubar .menus button{background:none;border:0;padding:0;font-size:inherit}
.menubar .right{margin-left:auto;display:flex;align-items:center;gap:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
.mb-bell{background:none;border:0;padding:2px 6px;border-radius:5px;font-size:13px}
.mb-bell:hover:not([disabled]){background:rgba(0,0,0,.08)}
.mb-bell[disabled]{cursor:default}
.mb-bell .n{display:inline-block;min-width:18px;padding:0 5px;margin-left:3px;border-radius:9px;background:var(--alert);color:#fff;font-weight:700;font-size:11px;text-align:center}
.mb-bell .n:empty{display:none}
@media (max-width:700px){.menubar .menus,.menubar .wifi{display:none}}
/* Phones: drop what is already shown elsewhere (app name, salary card) or by the phone itself (clock) */
@media (max-width:600px){
  :root{--menu:36px}
  .menubar{gap:10px;padding-left:12px;padding-right:12px;font-size:14px}
  .menubar .appname,.menubar #clock{display:none}
  .menubar .right{gap:8px}
  .mb-bell{font-size:14px;padding:5px 8px}
}
@media (max-width:420px){.menubar #payMenu{display:none}}

/* Desktop + window */
.desktop{position:relative;padding:calc(var(--menu) + env(safe-area-inset-top,0px) + 18px) 18px calc(var(--dock) + env(safe-area-inset-bottom,0px) + 22px)}
.window{max-width:1220px;margin:0 auto;height:calc(100vh - var(--menu) - var(--dock) - 52px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));min-height:560px;background:#fff;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 70px rgba(10,10,30,.38),0 0 0 .5px rgba(0,0,0,.25)}
.titlebar{flex:none;height:40px;display:flex;align-items:center;gap:14px;padding:0 14px;background:var(--side-dark);color:#fff}
.lights{display:flex;gap:8px}
.lights button{width:12px;height:12px;border-radius:50%;border:0;padding:0}
.lights .r{background:#FF5F57}.lights .y{background:#FEBC2E}.lights .g{background:#28C840}
.search{flex:1;min-width:0;max-width:520px;margin:0 auto;height:26px;border-radius:6px;background:rgba(255,255,255,.14);color:rgba(255,255,255,.7);font-size:13px;display:flex;align-items:center;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app{flex:1;min-height:0;display:grid;grid-template-columns:240px 1fr 340px}

/* Sidebar */
.sidebar{background:var(--side);color:var(--side-ink);overflow:auto;padding:12px 10px;display:flex;flex-direction:column;font-size:15px}
.ws{color:#fff;font-weight:800;font-size:17px;line-height:1.2;padding:4px 8px 12px}
.tagline{font-size:12px;font-weight:500;opacity:.65;margin-top:3px}
.sec{font-size:13px;opacity:.75;padding:12px 8px 4px}
.ch{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;white-space:nowrap}
.ch.active{background:#1164A3;color:#fff}
.ch.unread{color:#fff;font-weight:700}
.ch .badge{margin-left:auto;background:var(--alert);color:#fff;border-radius:9px;padding:0 6px;font-size:12px;font-weight:700;min-width:18px;text-align:center}
.ch .badge:empty{display:none}
.dot{width:9px;height:9px;border-radius:50%;background:#2BAC76;flex:none}
.dot.away{background:transparent;border:1.5px solid var(--side-ink)}
.me{margin-top:auto;padding:12px 8px 4px;border-top:1px solid rgba(255,255,255,.12);display:flex;gap:10px;align-items:center}
.avatar{width:36px;height:36px;border-radius:8px;background:#E8A33D;color:#2B1433;font-weight:800;display:grid;place-items:center;flex:none}
.me .nm{color:#fff;font-weight:700;font-size:14px;line-height:1.2}
.me .sm{font-size:12px;opacity:.8}

/* Main pane */
.main{display:flex;flex-direction:column;min-width:0;min-height:0}
.chan-head{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;padding:10px 20px;border-bottom:1px solid var(--line)}
.chan-name{font-weight:800;font-size:18px}
.topic{font-size:13px;color:var(--muted)}
.burn{margin-left:auto;min-width:210px;flex:0 1 280px}
.burn-row{display:flex;justify-content:space-between;font-size:13px;font-weight:600}
.meter{height:8px;background:#ECE9EC;border-radius:4px;overflow:hidden;margin:4px 0 2px}
#burnFill{height:100%;width:0;background:var(--go);transition:width .25s,background .4s}
.tiny{font-size:12px;color:var(--muted)}
.work{flex:1;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px 20px}
.impact-label{color:var(--muted);font-size:14px}
.impact{font-weight:800;font-size:clamp(42px,7vw,64px);line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rates{display:flex;justify-content:center;gap:20px;color:var(--muted);font-size:14px;margin:8px 0 14px;flex-wrap:wrap}
.rates b{color:var(--ink)}
.key{position:relative;width:min(250px,70vw);aspect-ratio:1.6;border-radius:16px;background:linear-gradient(#FFFFFF,#F3F3F5);border:1px solid #CFCFD4;box-shadow:0 7px 0 #BDBDC4,0 10px 18px rgba(0,0,0,.12);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .05s,box-shadow .05s}
.key:active{transform:translateY(6px);box-shadow:0 1px 0 #BDBDC4,0 3px 6px rgba(0,0,0,.12)}
.key-main{font-weight:800;font-size:26px;letter-spacing:-.01em}
.key-sub{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.pay{margin-top:14px;padding:10px 18px;border-radius:12px;background:#EAF6EF;border:1px solid #BFE3CD;display:inline-grid;grid-template-columns:auto auto auto;align-items:baseline;gap:0 6px;justify-content:center}
.pay-l{font-size:13px;font-weight:600;color:#0E6B45}
.pay b{font-size:24px;font-weight:800;color:#0E6B45;font-variant-numeric:tabular-nums}
.pay-y{font-size:13px;color:#0E6B45}
.pay-raise{grid-column:1/-1;font-size:13px;font-weight:700;color:var(--go);min-height:0}
.pay-raise:empty{display:none}
.pay-latte{grid-column:1/-1;font-size:12px;color:var(--muted)}
.pay.flash{animation:payflash 1.2s ease}
@keyframes payflash{0%{transform:scale(1)}15%{transform:scale(1.12);background:#C9F2D9}100%{transform:scale(1)}}
.perks{font-size:13px;color:var(--muted);margin-top:12px}
.perks b{color:var(--ink)}
.status{min-height:22px;margin:12px 0 8px;font-weight:600;color:var(--burn);font-size:14px}
.pto-row{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.btn{border:1px solid #CFCDD0;background:#fff;border-radius:6px;padding:6px 14px;font-weight:700;font-size:14px}
.btn:hover:not([disabled]){background:var(--soft)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn.primary{background:#007A5A;border-color:#007A5A;color:#fff}
.btn.primary:hover:not([disabled]){background:#006A4E}
.float{position:fixed;pointer-events:none;font-weight:800;color:var(--go);font-size:20px;animation:rise .8s ease-out forwards;z-index:45}
@keyframes rise{to{transform:translateY(-60px);opacity:0}}

/* Details pane */
.details{border-left:1px solid var(--line);overflow:auto;padding:18px 18px 24px;background:#fff}
.details h2{font-size:16px;font-weight:800;margin:0 0 10px}
.details section+section{margin-top:26px}
.next{font-size:14px;color:var(--muted)}
.next b{color:var(--ink)}
.prog{height:10px;background:#ECE9EC;border-radius:5px;overflow:hidden;margin:10px 0 12px}
#progFill{height:100%;width:0;background:var(--blue);transition:width .2s}
.sticky{background:var(--sticky);padding:12px 14px;margin-top:16px;font-size:14px;border-radius:2px;box-shadow:0 4px 10px rgba(0,0,0,.12);border-top:14px solid #F5DA4F}
.sticky .from{font-weight:700;font-size:12px;opacity:.7;margin-bottom:2px}
.item{width:100%;display:grid;grid-template-columns:1fr auto;gap:1px 12px;text-align:left;background:none;border:0;border-radius:8px;padding:9px 8px}
.item:hover:not([disabled]){background:var(--soft)}
.item[disabled]{opacity:.42;cursor:not-allowed}
.item .nm{font-weight:700;font-size:14px}
.item .own{font-weight:800;font-size:18px;grid-row:span 3;align-self:center;color:var(--muted);min-width:26px;text-align:right}
.item .fl{font-size:13px;color:var(--muted)}
.item .meta{font-size:12px;font-weight:700;color:var(--go)}
.shop-empty{color:var(--muted);font-size:13px;padding:6px 8px}
.reset{margin-top:22px;background:none;border:0;color:var(--muted);font-size:12px;text-decoration:underline;padding:0}
#howto{margin-right:16px}

@media (max-width:1050px){
  .app{grid-template-columns:1fr}
  .sidebar{display:none}
  .window{height:auto}
  .details{border-left:0;border-top:1px solid var(--line)}
  .work{padding:30px 16px}
}
@media (max-width:600px){
  :root{--dock:60px}
  body{background-attachment:scroll}
  .desktop{padding:calc(var(--menu) + env(safe-area-inset-top,0px) + 8px) 6px calc(var(--dock) + env(safe-area-inset-bottom,0px) + 18px)}
  .window{min-height:0;border-radius:10px}
  .titlebar{height:34px;gap:10px;padding:0 10px}
  .search{height:24px;font-size:12px}
  .chan-head{padding:8px 14px;gap:6px}
  .chan-name{font-size:16px}
  .topic{font-size:12px}
  .burn{margin-left:0;flex-basis:100%}
  .work{padding:14px 12px 18px}
  .rates{gap:4px 14px;font-size:13px;margin:4px 0 12px}
  .key{width:min(260px,78vw);aspect-ratio:1.9}
  .key-main{font-size:24px}
  .pay{margin-top:12px;padding:8px 14px}
  .pay b{font-size:21px}
  .status{margin:8px 0 6px}
  .details{padding:16px 14px 22px}
  .item{padding:10px 6px}
}

/* Dock */
.dock{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;gap:8px;padding:7px;border-radius:20px;background:rgba(255,255,255,.32);-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);border:.5px solid rgba(255,255,255,.5);box-shadow:0 10px 30px rgba(0,0,0,.2);max-width:calc(100vw - 16px);overflow-x:auto}
.dock-icon{position:relative;width:52px;height:52px;flex:none;border-radius:13px;border:0;display:grid;place-items:center;font-size:26px;background:var(--c);box-shadow:inset 0 0 0 .5px rgba(0,0,0,.15),0 2px 4px rgba(0,0,0,.2);transition:transform .15s}
.dock-icon:hover{transform:translateY(-4px)}
.dock-icon[hidden]{display:none}
.dock-icon .b{position:absolute;top:-5px;right:-5px;background:#FF3B30;color:#fff;font-size:11px;font-weight:700;border-radius:10px;min-width:20px;padding:1px 5px;text-align:center;box-shadow:0 1px 2px rgba(0,0,0,.3)}
.dock-icon .b:empty{display:none}
.dock-icon.bounce{animation:bounce .9s ease}
@keyframes bounce{0%,100%{transform:none}20%{transform:translateY(-16px)}40%{transform:none}60%{transform:translateY(-9px)}80%{transform:none}}
/* The page scrolls once the window stacks, so pin the dock to the screen instead of the first viewport */
@media (max-width:1050px){.dock{position:fixed}}
@media (max-width:600px){.dock-icon{width:40px;height:40px;font-size:20px;border-radius:10px}}

/* Notification banners */
#chaos{position:fixed;inset:0;pointer-events:none;z-index:50}
.win{position:absolute;width:min(330px,88vw);display:grid;grid-template-columns:36px 1fr;gap:10px;padding:11px 12px;border-radius:14px;background:rgba(246,246,248,.9);-webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);border:.5px solid rgba(0,0,0,.18);box-shadow:0 12px 32px rgba(0,0,0,.26);pointer-events:auto;font-size:13.5px;line-height:1.35;animation:pop .18s ease-out}
@keyframes pop{from{transform:translateY(-8px) scale(.96);opacity:0}}
.win .ico{width:36px;height:36px;border-radius:9px;background:var(--c);display:grid;place-items:center;font-size:19px}
.win .hd{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.win .hd .t{margin-left:auto}
.win .x{width:20px;height:20px;border-radius:50%;border:0;background:rgba(0,0,0,.08);font-size:13px;line-height:1;padding:0;color:#555}
.win .x:hover{background:rgba(0,0,0,.16)}
.win .f{font-weight:700;margin-top:1px}
.win p{margin:1px 0 0}
.win .acts{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.win .acts button{border:0;border-radius:7px;padding:4px 12px;font-size:12.5px;font-weight:600;background:rgba(0,0,0,.08)}
.win .acts button:first-child{background:#0A84FF;color:#fff}
.win.urgent{box-shadow:0 0 0 2px var(--alert),0 12px 32px rgba(0,0,0,.26)}
@media (pointer:coarse){
  .win .x{width:28px;height:28px;font-size:14px}
  .win .acts button{padding:7px 14px;font-size:13px}
}

/* Gerald, toasts, achievements */
.gerald{position:fixed;z-index:58;border:0;background:none;padding:0;display:flex;align-items:center;gap:4px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3))}
.gerald .g-emoji{display:inline-block;font-size:46px;line-height:1;transform:scaleX(-1)}
.gerald .g-bubble{font-size:12px;font-weight:700;background:#fff;border-radius:10px;padding:3px 8px;white-space:nowrap}
#toasts{position:fixed;top:calc(var(--menu) + env(safe-area-inset-top,0px) + 10px);left:50%;transform:translateX(-50%);z-index:90;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:min(440px,92vw)}
.toast{pointer-events:auto;cursor:pointer;background:rgba(30,30,34,.93);color:#fff;font-size:14px;font-weight:600;padding:10px 16px;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.3);text-align:center;animation:pop .2s ease-out}
.dots i{font-style:normal;animation:blink 1.2s infinite}
.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.2}40%{opacity:1}}
.ach-item{font-size:13px;color:var(--muted);padding:6px 0;border-top:1px solid var(--line)}
.ach-item:first-child{border-top:0}
.ach-item b{display:block;font-size:14px;color:var(--ink)}

/* Alerts */
#overlay{position:fixed;inset:0;z-index:100;overflow-y:auto;background:rgba(20,16,30,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px}
#overlay[hidden]{display:none}
.ov{margin:auto;background:rgba(250,250,252,.97);max-width:460px;width:100%;border-radius:14px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.4);text-align:center}
.ov .big{font-size:44px;line-height:1;margin-bottom:10px}
.ov h3{font-size:19px;font-weight:800;margin:0 0 6px}
.ov p{margin:6px 0;font-size:14px}
.ov .stats{display:grid;grid-template-columns:1fr auto;gap:4px 16px;margin:14px 0;font-size:14px;text-align:left;background:#EFEFF2;border-radius:10px;padding:12px 14px}
.ov .stats b{text-align:right;font-variant-numeric:tabular-nums}
.ov .tip{font-size:17px;min-height:50px;font-weight:600;margin:14px 0}
.ov .bar{height:6px;background:#E2E2E6;border-radius:3px;overflow:hidden;margin:16px 0 6px}
.ov .bar div{height:100%;background:#0A84FF;width:0;transition:width .35s}
.ov .btn{margin-top:10px}
.share-card{margin:16px 0 12px;padding:18px;border-radius:12px;background:linear-gradient(135deg,#3B1F44,#1F6F54);color:#fff;text-align:left}
.sc-co{font-size:12px;opacity:.75;font-weight:600}
.sc-h{font-size:22px;font-weight:800;margin:2px 0 12px}
.sc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.sc-grid span{display:block;font-size:12px;opacity:.7}
.sc-grid b{font-size:16px}
.sc-rating{margin-top:12px;font-size:13px;color:#FFE97A}
.share-acts{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.ov .share-acts .btn{margin-top:0;font-size:13px;padding:6px 12px}
#shMsg{min-height:18px;margin-top:6px}
.review{text-align:left;margin:14px 0;border-radius:10px;background:#EFEFF2;padding:4px 12px}
.rv{display:grid;grid-template-columns:1fr auto;gap:0 10px;padding:7px 0;border-top:1px solid #DCDCE2}
.rv:first-child{border-top:0}
.rv-c{font-weight:700;font-size:14px}
.rv-s{color:#D98A0B;letter-spacing:1px;font-size:15px}
.rv-n{grid-column:1/-1;font-size:12px;color:var(--muted)}
.rv-overall{font-size:20px;font-weight:800;margin-top:6px}
.rv-quote{font-style:italic;color:var(--muted)}
.rv-effect{font-weight:700}

/* Onboarding: a WorkHub window with an #onboarding channel */
.ov.ob{max-width:540px;padding:0;overflow:hidden;text-align:left;background:#fff}
.ob-bar{height:36px;display:flex;align-items:center;gap:14px;padding:0 12px;background:var(--side-dark);color:rgba(255,255,255,.85);font-size:13px;font-weight:700}
.ob-lights{display:flex;gap:7px}
.ob-lights i{width:12px;height:12px;border-radius:50%;background:#FF5F57}
.ob-lights i+i{background:#FEBC2E}.ob-lights i+i+i{background:#28C840}
.ob-head{padding:16px 20px 8px;border-bottom:1px solid var(--line)}
.ob-head h3{font-size:19px;line-height:1.25;margin:0 0 4px}
.ob-head p{margin:0;font-size:13px;color:var(--muted)}
.ob-msgs{padding:6px 10px}
.ob-msg{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:7px 10px;border-radius:8px}
/* Messages arrive one by one, 0.6s apart; the pinned note lands last */
.ob-msg,.ov .ob-note{animation:obIn .4s ease-out backwards;animation-delay:calc(.3s + var(--i) * .6s)}
@keyframes obIn{from{opacity:0;transform:translateY(14px)}}
.ob-msg:hover{background:var(--soft)}
.ob-av{width:36px;height:36px;border-radius:8px;background:var(--c);display:grid;place-items:center;font-size:19px}
.ob-who{font-weight:800;font-size:14px;line-height:1.2}
.ob-who time{font-weight:400;font-size:12px;color:var(--muted);margin-left:4px}
.ov .ob-msg p{margin:2px 0 0;font-size:14px;line-height:1.4}
.ob-aside{color:var(--muted)}
.ov .ob-note{margin:6px 20px 0;transform:rotate(-1deg)}
.ob-foot{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;margin-top:16px;padding:14px 20px 16px;border-top:1px solid var(--line);background:var(--soft)}
.ov .ob-foot .btn{margin-top:0;padding:8px 18px;font-size:15px}
.ob-foot .tiny{flex:1;min-width:180px}
@media (max-width:600px){
  #overlay{padding:10px}
  .ob-head{padding:14px 14px 8px}
  .ob-head h3{font-size:17px}
  .ob-msgs{padding:4px 4px}
  .ob-msg{padding:6px 10px}
  .ov .ob-msg p{font-size:13.5px}
  .ov .ob-note{margin:6px 14px 0}
  .ob-foot{padding:12px 14px 14px}
  .ov .ob-foot .btn{width:100%}
}

body.shake .window{animation:shake .35s}
@keyframes shake{20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
@media (prefers-reduced-motion:reduce){
  body.shake .window,.win,.dock-icon.bounce,.pay.flash,.toast,.dots i,.ob-msg,.ov .ob-note{animation:none}
  .float{animation:none;opacity:0}
}

/* ---------- static about + footer (same links as the rest of the site) ---------- */
.about{width:100%;max-width:540px;margin:40px auto 0;padding:0 16px 40px;color:rgba(255,255,255,.85);font-size:14px;line-height:1.5}
.about h2{margin:0 0 6px;font-size:16px;color:#fff}
.about p{margin:0 0 10px}
.site-footer{border-top:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.15);padding:18px 16px calc(18px + env(safe-area-inset-bottom))}
.site-footer__inner{max-width:540px;margin:0 auto;display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;justify-content:space-between}
.site-footer__brand{font-weight:700;font-size:14px;color:#fff}
.site-footer__links{display:flex;gap:16px;flex-wrap:wrap}
.site-footer__links a{color:rgba(255,255,255,.85);font-weight:600;font-size:14px;text-decoration:none;border-bottom:1px solid transparent}
.site-footer__links a:hover,.site-footer__links a:focus-visible{border-bottom-color:#fff}
@media (max-width:1050px){.site-footer{padding-bottom:calc(var(--dock) + 24px + env(safe-area-inset-bottom,0px))}}
