/* Legal pages in the app style. Cream v6 dark, Inter. Styling only; no text lives here. */
body.lp{background:var(--bg)}
body.phone{width:390px} body.desk{width:1280px}
.app{display:flex;flex-direction:column;min-height:100vh}
/* app header (same items as the live marketing header) */
.lhead{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 16px;border-bottom:1px solid var(--hair);background:rgba(18,18,20,.95);position:sticky;top:0;z-index:5}
.desk .lhead{padding:0 32px}
.lhead .brand{display:inline-flex;align-items:center;gap:8px;font-size:18px;font-weight:800;letter-spacing:-.035em;color:var(--text);text-decoration:none;min-width:0;overflow:hidden;white-space:nowrap}
.lhead .brand span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.lhead .brand .brand-mark{display:none}
.lhead .brand::before{content:"";flex:none;width:22px;height:22px;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='22' y1='12' x2='18' y2='12'/%3E%3Cline x1='6' y1='12' x2='2' y2='12'/%3E%3Cline x1='12' y1='6' x2='12' y2='2'/%3E%3Cline x1='12' y1='22' x2='12' y2='18'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='22' y1='12' x2='18' y2='12'/%3E%3Cline x1='6' y1='12' x2='2' y2='12'/%3E%3Cline x1='12' y1='6' x2='12' y2='2'/%3E%3Cline x1='12' y1='22' x2='12' y2='18'/%3E%3C/svg%3E") center/contain no-repeat}
.lhead .brand svg{width:22px;height:22px;color:#fff}
.hacts{display:flex;align-items:center;gap:12px}
.signin{font-size:13px;font-weight:600;color:var(--muted);text-decoration:none}
.getstarted{font-size:13px;font-weight:700;color:var(--accent-fg);background:var(--accent);padding:8px 14px;border-radius:8px;text-decoration:none}
.hacts{flex-shrink:0}
.signin{display:inline-flex;align-items:center;height:44px;white-space:nowrap}
.getstarted{position:relative;white-space:nowrap}
.getstarted::before{content:"";position:absolute;left:0;right:0;top:-6px;bottom:-6px}
@media (max-width:374.98px){.hacts{gap:8px}.getstarted{padding:8px 12px}}
@media (max-width:374.98px){.lhead .brand{gap:6px;font-size:14px;letter-spacing:-.025em}.lhead .brand::before{width:16px;height:16px}}
/* page tabs between the legal pages */
.ltabs{display:flex;gap:3px;background:var(--track);border:1px solid var(--hair);border-radius:12px;padding:3px}
.ltabs a{flex:1;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:13.5px;font-weight:700;color:var(--muted);text-decoration:none}
.ltabs a.on{background:var(--accent);color:var(--accent-fg)}
.pmain{padding:16px 16px 28px;flex:1}
/* "On this page" (phone) */
.otp{margin-top:14px;border:1px solid var(--hair);border-radius:14px;background:var(--elev);width:100%}
.otp summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;min-height:44px;cursor:pointer}
.otp summary::before{content:"";flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cline x1='8' y1='6' x2='21' y2='6'/%3E%3Cline x1='8' y1='12' x2='21' y2='12'/%3E%3Cline x1='8' y1='18' x2='21' y2='18'/%3E%3Cline x1='3' y1='6' x2='3.01' y2='6'/%3E%3Cline x1='3' y1='12' x2='3.01' y2='12'/%3E%3Cline x1='3' y1='18' x2='3.01' y2='18'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cline x1='8' y1='6' x2='21' y2='6'/%3E%3Cline x1='8' y1='12' x2='21' y2='12'/%3E%3Cline x1='8' y1='18' x2='21' y2='18'/%3E%3Cline x1='3' y1='6' x2='3.01' y2='6'/%3E%3Cline x1='3' y1='12' x2='3.01' y2='12'/%3E%3Cline x1='3' y1='18' x2='3.01' y2='18'/%3E%3C/svg%3E") center/contain no-repeat;color:#fff}
.otp summary::-webkit-details-marker{display:none}
.otp-t{font-size:14px;font-weight:700;color:#fff}
.otp-n{font-size:12.5px;color:var(--dim);margin-left:auto}
.otp summary svg{width:18px;height:18px;stroke:var(--muted);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.otp[open] summary svg{transform:rotate(180deg)}
.otp nav{border-top:1px solid var(--hair);padding:6px 6px 8px}
.otp ol,.rail ol{list-style:none}
.otp li a{display:flex;align-items:center;min-height:44px;padding:8px 8px;border-radius:8px;font-size:13.5px;line-height:1.35;color:#d4d4d8;text-decoration:none;overflow-wrap:anywhere}
/* the legal text */
.legal{margin-top:22px;color:#e4e4e7;font-size:17px}
.lh1{font-size:28px;font-weight:800;letter-spacing:-.03em;color:#fff;line-height:1.15}
.doctitle{margin-top:10px;font-size:14px;font-weight:600;color:var(--muted)}
.meta{margin-top:6px;font-size:12.5px;line-height:1.6;color:var(--dim);overflow-wrap:anywhere}
.intro{margin-top:20px;padding:14px 16px;border:1px solid var(--hair);border-left:3px solid rgba(242,228,220,.55);border-radius:12px;background:var(--elev)}
.intro p{margin:0}
.legal p{font-size:17px;line-height:1.6;overflow-wrap:anywhere}
.legal section{scroll-margin-top:120px}
.legal h2{margin-top:28px;padding-top:22px;border-top:1px solid var(--hair);font-size:19px;font-weight:800;letter-spacing:-.02em;line-height:1.3;color:#fff;scroll-margin-top:120px;overflow-wrap:anywhere}
.legal section:first-of-type h2{border-top:none;padding-top:0}
.legal h2 + p,.legal h2 + .cl,.legal h2 + .li{margin-top:12px}
.legal p + p{margin-top:12px}
.cn{font-weight:700;color:#fff;font-variant-numeric:tabular-nums;margin-right:2px}
.li{padding-left:22px;text-indent:-22px}
.li.l2{padding-left:44px}
.li .mk{display:inline-block;width:22px;text-indent:0;color:var(--muted);font-weight:700}
.li .mk + *{}
.caps{letter-spacing:.005em}
.dsec{margin-top:18px}
.dsec:first-of-type{margin-top:24px}
.runin{overflow-wrap:anywhere}
.runin strong{color:#fff;font-weight:800;scroll-margin-top:120px}
.legal-links{margin-top:30px;padding-top:16px;border-top:1px solid var(--hair)}
.legal-links p{font-size:13.5px;color:var(--dim)}
.legal-links a,.legal .back a{color:var(--accent);text-decoration:none;font-weight:600}
.totop{margin-top:14px;text-align:right}
.totop a{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;color:var(--dim);text-decoration:none}
.totop svg,.rail-top svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.legal p.totop{font-size:12.5px}
/* contact */
.contact{margin-top:28px}
.ctop{text-align:center}
.csub{margin-top:8px;font-size:14px !important;color:var(--muted);line-height:1.5 !important}
.cform{margin-top:24px;display:flex;flex-direction:column;gap:16px}
.fld{display:flex;flex-direction:column;gap:8px}
.fld label{font-size:14px;font-weight:600;color:#fff}
.fld input,.fld textarea{background:#18181b;border:1px solid var(--hair);border-radius:10px;height:44px;color:#fff;font:inherit;padding:0 12px}
.fld textarea{height:120px;padding:10px 12px;resize:vertical}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.send{height:46px;border:none;border-radius:12px;background:var(--accent);color:var(--accent-fg);font:inherit;font-size:16px;font-weight:700}
.legal .back{margin-top:20px;text-align:center;font-size:14px}
/* app footer (same text as the live site footer) */
.lfoot{margin-top:auto;border-top:1px solid var(--hair);padding:22px 16px 26px;text-align:center;font-size:11.5px;line-height:1.6;color:var(--dim)}
.lfoot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;margin-bottom:10px}
.lfoot nav a{color:var(--muted);font-weight:600;text-decoration:none}
.lfoot div{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:6px}
.lfoot div a{color:inherit;text-decoration:underline;text-underline-offset:2px}
/* desktop */
.dwrap{width:1280px;padding:28px 48px 40px;flex:1}
.desk .ltabs{max-width:520px;margin-left:300px}
.dgrid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;margin-top:8px;align-items:start}
.rail{position:sticky;top:76px}
.rail-in{border-right:1px solid var(--hair);padding:20px 18px 20px 0}
.rail-k{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin:0 0 8px 10px}
.rail li a{display:flex;align-items:center;min-height:44px;padding:4px 10px;border-radius:8px;font-size:13px;line-height:1.35;color:var(--muted);text-decoration:none;border-left:2px solid transparent;overflow-wrap:anywhere}
.rail li a.on{color:var(--accent);background:rgba(242,228,220,.08);border-left-color:var(--accent)}
.rail-top{display:inline-flex;align-items:center;gap:4px;margin:14px 0 0 10px;font-size:12.5px;font-weight:600;color:var(--dim);text-decoration:none}
.dmain .legal{max-width:68ch;margin-top:20px}
.dmain .legal p{font-size:17px;line-height:1.6}
.dmain .lh1{font-size:34px}
.dmain .totop.end{max-width:620px}
/* no zoom or jump on mobile: 16px+ form text (iOS zooms below 16px), no text inflation, anchors land below the sticky header */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:120px}
.fld input,.fld textarea,.send{font-size:16px}
.fld textarea{min-height:120px}
.li.dl{padding-left:16px;text-indent:-16px}.li.dl .mk{width:12px}.li.dl.l2{padding-left:36px}
/* short windows: the rail scrolls on its own (see BUILD-SPEC) */
@media (max-height:760px){.rail-in{max-height:calc(100vh - 96px);overflow:auto}}
/* links made from the existing email and web addresses (text unchanged) */
.legal a.tl{color:var(--accent);text-decoration:underline;text-decoration-color:rgba(242,228,220,.45);text-underline-offset:2px;overflow-wrap:anywhere}
/* phone: sticky tab bar with the one floating "Back to top" button docked at its end, so it never sits over text */
.tabbar{position:sticky;top:56px;z-index:4;display:flex;align-items:center;gap:8px;background:var(--bg);margin:-16px -16px 0;padding:12px 16px 8px}
.tabbar .ltabs{flex:1;min-width:0}
.tabbar .ltabs a{font-size:13px}
.fab-top{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;color:#e4e4e7;background:var(--elev);border:1px solid #3a3a3e;font-size:13px;font-weight:700}
.fab-top svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.fab-top.ph{width:44px;height:44px;border-radius:12px;flex-shrink:0}
/* desktop: fixed bottom-right in the empty right margin (text column ends at x≈968px; button starts at x≥1100px) */
.desk .fab-top{position:fixed;right:32px;bottom:32px;height:44px;padding:0 16px;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.45);z-index:6}
/* Production responsive layout (mocks use fixed .phone/.desk widths) */
body.lp{width:auto;max-width:100%;overflow-x:hidden}
body.lp .app{width:100%;max-width:100%}
.legal-shell{flex:1;display:flex;flex-direction:column}
.legal-body{display:flex;flex-direction:column;flex:1}
.rail{display:none}
.fab-top.desk-only{display:none}
.fab-top.ph{opacity:0;pointer-events:none;transition:opacity .2s}
.fab-top.ph.is-visible{opacity:1;pointer-events:auto}
@media (min-width:1024px){
  .legal-shell{padding:28px 48px 40px;max-width:1280px;margin:0 auto;width:100%}
  .tabbar{position:static;margin:0;padding:0;background:transparent}
  .tabbar .fab-top.ph{display:none}
  .otp{display:none}
  .legal-body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;margin-top:8px;align-items:start}
  .rail{display:block;position:sticky;top:76px}
  .legal-main .legal{max-width:68ch;margin-top:20px}
  .legal-main .legal p{font-size:17px;line-height:1.6}
  .legal-main .lh1{font-size:34px}
  .ltabs-shell .ltabs{max-width:520px;margin-left:300px}
  .fab-top.desk-only{display:inline-flex;position:fixed;right:32px;bottom:32px;height:44px;padding:0 16px;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.45);z-index:6;opacity:0;pointer-events:none;transition:opacity .2s}
  .fab-top.desk-only.is-visible{opacity:1;pointer-events:auto}
}
@media (max-width:1199px){
  .fab-top.desk-only{display:none!important}
}
@media (min-width:1200px){
  .tabbar .fab-top.ph{display:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{
  [data-chrome],.hacts,.fab-top{display:none!important}
  .lhead{position:static!important}
  body.lp{overflow:visible!important;background:#fff!important;color:#000!important}
  .legal,.legal p,.legal h2,.runin strong,.lh1,.meta,.doctitle{color:#000!important}
  .legal h2{border-top-color:#ccc}
  .lfoot{display:block!important;color:#333!important;border-top-color:#ccc}
  .lfoot nav a{color:#000!important}
}
