/* ============================================================================
   XINNACE v3 — page-privacy.css
   The "privacy" artifact's own stylesheet, verbatim, less the 27 chrome rules
   that base.css now owns for every page, and less --maxw / --gutter / --head-h,
   which are shared so the bar and the column do not change between pages.
   Loads AFTER base.css, so everything here wins. Regenerate, do not edit.
   ========================================================================== */


/* ==========================================================================
   XINNACE legal pages (privacy / PAIA / terms) — shared shell.
   Navy header, hero and footer; ONE white reading column for the body. These
   are continuous documents, so the white/grey band alternation used on the
   marketing pages is deliberately NOT applied here — it would fragment a
   twenty-clause contract into unrelated-looking blocks.
   Each source .php omits any config constant that is empty rather than
   printing a placeholder; that behaviour is preserved.
   ========================================================================== */
:root{
  --ground:#07111F; --surface:#101E31; --surface-2:#152640;
  --line:#223651; --line-2:#39516D;
  --ink:#F5F8FC; --ink-soft:#C9D4E2; --ink-faint:#AFBDD0;
  --brand:#12B5AB; --brand-2:#0FA39A; --on-brand:#041816; --eyebrow:#46D0C7;
  --ease:cubic-bezier(.22,.61,.36,1);
  --f-display:"Poppins","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --f-body:"Archivo","Helvetica Neue",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.light{
  --ground:#FFFFFF; --surface:#FFFFFF; --surface-2:#F1F5F9;
  --line:#DCE6EF; --line-2:#C3D2E0;
  --ink:#172235; --ink-soft:rgba(23,34,53,.76); --ink-faint:#617086;
  --eyebrow:#0E8F87; --brand:#1C8A83; --brand-2:#146D67; --on-brand:#FFFFFF;
  background:var(--ground); color:var(--ink);
}
*,*::before,*::after{box-sizing:border-box;}
body{margin:0;background:#07111F;color:#F5F8FC;
  font-family:var(--f-body);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;}
svg{display:block;}
a{color:inherit;}
:focus-visible{outline:2.5px solid var(--brand);outline-offset:3px;border-radius:4px;}
.shell{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);}
h1,h2,h3{font-family:var(--f-display);font-weight:700;letter-spacing:-.03em;margin:0;text-wrap:balance;}
h1{font-size:clamp(32px,4.4vw,52px);line-height:1.08;}
p{margin:0;}
.eyebrow{font-family:var(--f-body);font-stretch:75%;font-size:11.5px;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--eyebrow);display:flex;align-items:center;gap:11px;}
.eyebrow::before{content:"";width:24px;height:1px;background:var(--line-2);flex:none;}
.lede{font-size:clamp(16.5px,1.4vw,18.5px);line-height:1.66;color:var(--ink-soft);max-width:68ch;}
/* ---------- hero ---------- */
.phero{position:relative;overflow:hidden;background:#07111F;
  padding:clamp(46px,5.6vw,74px) 0 clamp(38px,4.6vw,58px);}
.comb{position:absolute;pointer-events:none;color:#12B5AB;opacity:.62;}
.comb--r{right:0;top:-26px;width:min(330px,34vw);}
.comb polygon{transform-box:fill-box;transform-origin:center;
  animation:hexLock 1.05s cubic-bezier(.22,1.06,.36,1) backwards;}
@keyframes hexLock{from{opacity:0;transform:translate(var(--dx,0),var(--dy,0)) rotate(var(--rz,0deg)) scale(.84);}}
.comb__lit{opacity:0;animation:hexCharge 2.6s ease-out .95s forwards;}
@keyframes hexCharge{0%{opacity:0;}40%{opacity:.85;}100%{opacity:.45;}}
@media (max-width:760px){.comb--r{width:180px;top:-38px;opacity:.42;}}
.phero__in{position:relative;display:flex;flex-direction:column;gap:16px;align-items:flex-start;}
.stamp{font-family:var(--f-body);font-stretch:75%;font-size:11px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:#78899E;margin-top:6px;}
/* ---------- document body ---------- */
.doc{padding:clamp(44px,5.2vw,72px) 0 clamp(56px,6.4vw,88px);}
.legal{max-width:74ch;}
.legal h2{font-size:clamp(20px,2.2vw,25px);line-height:1.2;margin:clamp(34px,4vw,50px) 0 0;
  padding-top:clamp(22px,2.6vw,30px);border-top:1px solid var(--line);scroll-margin-top:calc(var(--head-h) + 16px);}
/* Clause headings carry a jump-back link on the right. Flex so the link pins to
   the far edge while a long heading still wraps in the space that is left. */
.legal > h2{display:flex;align-items:baseline;justify-content:space-between;gap:18px;}
/* The pill is nowrap, so on a narrow column let it drop to its own line rather
   than push the heading past the measure. */
@media (max-width:560px){.legal > h2{flex-wrap:wrap;gap:10px;}}
.backtop{
  flex:none;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;
  text-decoration:none;white-space:nowrap;
  font-family:var(--f-body);font-stretch:75%;font-size:10px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);
  border:1px solid var(--line);border-radius:999px;padding:5px 11px;
  transition:color .18s var(--ease),border-color .18s var(--ease);
}
.backtop svg{width:10px;height:10px;flex:none;}
.backtop:hover{color:var(--brand);border-color:var(--brand);}
.legal > h2:first-child{margin-top:0;padding-top:0;border-top:0;}
.legal h3{font-size:17.5px;letter-spacing:-.02em;line-height:1.3;margin:26px 0 0;
  scroll-margin-top:calc(var(--head-h) + 16px);}
.legal p{margin-top:13px;color:var(--ink-soft);font-size:16px;line-height:1.72;}
/* Scoped to DIRECT children on purpose. The contents nav sits inside .legal,
   so an unscoped `.legal ol > li` (0,1,2) outranks `.toc li` (0,1,1) and made
   the nav items increment the clause counter instead of their own — which left
   counter(t) at zero and printed a stray "0." before every entry. */
.legal > ul,.legal > ol{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
.legal > ul > li,.legal > ol > li{position:relative;padding-left:22px;color:var(--ink-soft);font-size:16px;line-height:1.7;}
.legal > ul > li::before{content:"";position:absolute;left:0;top:10px;width:9px;height:8px;
  background:var(--brand);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);}
.legal > ol{counter-reset:step;}
.legal > ol > li{padding-left:30px;counter-increment:step;}
.legal > ol > li::before{content:counter(step) ".";position:absolute;left:0;top:0;
  font-family:var(--f-body);font-stretch:75%;font-weight:700;font-size:14px;color:var(--brand);}
.legal strong{color:var(--ink);font-weight:600;}
.legal a{color:var(--brand);font-weight:600;}
/* .legal a (0,1,1) outranks .btn--primary (0,1,0), so the button label was
   painted in --brand — the button's own background colour. Invisible. */
.legal .btn--primary{color:#FFFFFF;}
.legal .btn--primary:hover{color:#FFFFFF;}
/* a bordered panel for the contact / regulator blocks */
.legal__block{background:var(--surface-2);border:1px solid var(--line);border-radius:13px;
  padding:20px 22px;margin-top:16px;font-size:15.6px;line-height:1.85;color:var(--ink-soft);}
/* scope callouts — the "this may not be about you" note at the top */
.legal__callout{background:var(--surface-2);border:1px solid var(--brand);border-radius:15px;
  padding:clamp(20px,2.6vw,28px);margin-bottom:clamp(30px,3.6vw,42px);
  display:flex;flex-direction:column;gap:11px;}
.legal__callout h2{margin:0;padding:0;border:0;font-size:19px;display:flex;align-items:center;gap:10px;}
.legal__callout h2::before{content:"";width:13px;height:11px;flex:none;background:var(--brand);
  clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);}
.legal__callout p{margin:0;font-size:15.6px;}
/* jump list, built from the h2s at runtime */
.toc{margin-bottom:clamp(30px,3.6vw,42px);scroll-margin-top:calc(var(--head-h) + 16px);}
.toc h4{font-family:var(--f-body);font-stretch:75%;font-size:10.5px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 12px;}
.toc ol{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:7px 20px;counter-reset:t;}
.toc li{counter-increment:t;}
.toc a{display:block;padding:5px 0;font-size:14.6px;color:var(--ink-soft);text-decoration:none;
  border-bottom:1px solid transparent;transition:color .18s var(--ease),border-color .18s var(--ease);}
.toc a::before{content:counter(t) ". ";color:var(--ink-faint);font-variant-numeric:tabular-nums;}
.toc a:hover{color:var(--brand);border-bottom-color:var(--line-2);}
.docfoot{margin-top:clamp(36px,4.4vw,56px);padding-top:22px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;}
.docfoot p{font-size:14.5px;color:var(--ink-faint);}
@media print{
  .head,.backtop,.docfoot .btn{display:none !important;}
  .phero{background:#FFFFFF !important;}
  .phero h1,.phero .lede,.phero .eyebrow{color:#000000 !important;}
  .comb{display:none;}
  .legal h2,.legal h3{break-after:avoid;}
  .legal__block,.legal__callout{break-inside:avoid;}
}
@media (prefers-reduced-motion:reduce){
  .comb polygon{animation:none;} .comb__lit{opacity:.42;animation:none;}
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}