/* ───────── Content Copilot Pro · legal pages · v2 charter ───────── */
:root{
  --paper:#f1ece1; --paper-2:#e7e0d0;
  --ink:#111; --ink-2:#2a2724;
  --rule:#1a1715; --muted:#6b655c;
  --vermillion:#ff3b1f;
  --display:'Fraunces','Times New Roman',serif;
  --body:'Newsreader',Georgia,serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
/* Native smooth-scroll disabled — Lenis handles all scrolling (init in <script>).
   scroll-padding-top kept for native fallback if Lenis fails to load. */
html{scroll-padding-top:92px}
/* Lenis-required base styles */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:clip}
.lenis.lenis-smooth iframe{pointer-events:none}

/* ───── Back-to-top floating button ───── */
.to-top{
  position:fixed;right:22px;bottom:22px;width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  background:var(--ink);color:var(--paper);
  border:1.5px solid var(--ink);border-radius:50%;
  cursor:pointer;opacity:0;pointer-events:none;transform:translateY(12px);
  transition:opacity .35s ease, transform .35s ease, background .2s ease, border-color .2s ease;
  z-index:900;box-shadow:0 4px 14px rgba(0,0,0,.18);
  font-family:var(--mono);font-size:18px;line-height:1;
}
.to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.to-top:hover{background:var(--vermillion);border-color:var(--vermillion);transform:translateY(-3px)}
.to-top svg{width:18px;height:18px;display:block}
@media(max-width:640px){.to-top{right:14px;bottom:14px;width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.to-top{transition:opacity .2s ease}}

/* ───────────────────────── mobile burger menu ───────────────────────── */
.burger{
  display:none;width:44px;height:44px;border:1.5px solid var(--ink);
  background:var(--paper);border-radius:50%;cursor:pointer;
  position:relative;flex:none;z-index:1002;padding:0;
  transition:background .25s ease, border-color .25s ease;
}
.burger:hover{background:var(--ink)}
.burger:hover .burger-line{background:var(--paper)}
.burger-line{
  position:absolute;left:50%;top:50%;width:18px;height:1.8px;background:var(--ink);border-radius:2px;
  transform-origin:center;transform:translate(-50%, -50%);
  transition:transform .35s cubic-bezier(.7,0,.3,1), opacity .25s ease, background .25s ease, width .25s ease;
}
.burger-line:nth-child(1){transform:translate(-50%, calc(-50% - 5px))}
.burger-line:nth-child(2){transform:translate(-50%, -50%);width:14px}
.burger-line:nth-child(3){transform:translate(-50%, calc(-50% + 5px))}
.burger[aria-expanded="true"]{background:var(--ink);border-color:var(--ink)}
.burger[aria-expanded="true"] .burger-line{background:var(--paper);width:18px}
.burger[aria-expanded="true"] .burger-line:nth-child(1){transform:translate(-50%, -50%) rotate(45deg)}
.burger[aria-expanded="true"] .burger-line:nth-child(2){opacity:0;transform:translate(-50%, -50%) scaleX(0)}
.burger[aria-expanded="true"] .burger-line:nth-child(3){transform:translate(-50%, -50%) rotate(-45deg)}

.mobile-menu{
  position:fixed;inset:0;z-index:1001;background:var(--paper);
  display:flex;flex-direction:column;padding:88px 28px 28px;
  opacity:0;pointer-events:none;
  transition:opacity .4s cubic-bezier(.4,0,.2,1);
}
.mobile-menu.open{opacity:1;pointer-events:auto}
.mobile-menu::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  opacity:.35;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.07  0 0 0 0 0.06  0 0 0 0 0.04  0 0 0 0.45 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
.mobile-menu-eyebrow{
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--vermillion);font-weight:700;margin-bottom:8px;
  display:flex;align-items:center;gap:10px;
  opacity:0;transform:translateY(12px);transition:opacity .45s ease .1s, transform .45s ease .1s;
}
.mobile-menu-eyebrow::before{content:"";width:6px;height:6px;background:var(--vermillion);border-radius:50%;box-shadow:0 0 0 4px rgba(255,59,31,.18)}
.mobile-menu.open .mobile-menu-eyebrow{opacity:1;transform:translateY(0)}
.mobile-menu nav{flex:1;display:flex;flex-direction:column;justify-content:center;gap:2px;position:relative;z-index:1}
.mobile-menu nav a{
  font-family:var(--display);font-weight:400;font-size:clamp(32px,8vw,52px);line-height:1.05;letter-spacing:-.025em;
  color:var(--ink);text-decoration:none;display:flex;align-items:baseline;gap:14px;
  padding:14px 0;border-bottom:1px solid var(--rule);
  opacity:0;transform:translateY(20px);
  transition:opacity .5s cubic-bezier(.2,.7,.2,1), transform .5s cubic-bezier(.2,.7,.2,1), color .2s ease;
}
.mobile-menu nav a .num{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--vermillion);font-weight:700;min-width:32px;flex:none}
.mobile-menu nav a:hover,.mobile-menu nav a:active{color:var(--vermillion)}
.mobile-menu nav a em{font-style:italic;color:var(--vermillion);font-weight:400}
.mobile-menu.open nav a{opacity:1;transform:translateY(0)}
.mobile-menu.open nav a:nth-child(1){transition-delay:.18s}
.mobile-menu.open nav a:nth-child(2){transition-delay:.24s}
.mobile-menu.open nav a:nth-child(3){transition-delay:.30s}
.mobile-menu.open nav a:nth-child(4){transition-delay:.36s}
.mobile-menu.open nav a:nth-child(5){transition-delay:.42s}
.mobile-menu-foot{
  position:relative;z-index:1;padding-top:22px;display:flex;flex-direction:column;gap:18px;
  opacity:0;transform:translateY(12px);transition:opacity .5s ease .55s, transform .5s ease .55s;
}
.mobile-menu.open .mobile-menu-foot{opacity:1;transform:translateY(0)}
.mobile-menu-foot .cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 22px;
  background:var(--ink);color:var(--paper);border:1.5px solid var(--ink);border-radius:999px;
  font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;
  text-decoration:none;transition:all .2s ease;
}
.mobile-menu-foot .cta:hover{background:var(--vermillion);border-color:var(--vermillion);color:#fff}
.mobile-menu-foot .legal{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.mobile-menu-foot .legal a{color:var(--ink-2);text-decoration:none;opacity:.7;transition:opacity .2s, color .2s}
.mobile-menu-foot .legal a:hover{opacity:1;color:var(--vermillion)}
.mobile-menu-foot .legal .lang-switch{margin-left:auto}
body.menu-open{overflow:hidden}
@media(max-width:780px){
  .burger{display:flex;align-items:center;justify-content:center}
  .nav > a:not(.cta),.nav > .lang-switch{display:none}
  .nav .cta{display:none}
}
@media(min-width:781px){.mobile-menu{display:none}}
body{
  background:var(--paper);color:var(--ink);
  font-family:var(--body);font-size:17px;line-height:1.55;
  -webkit-font-smoothing:antialiased;position:relative;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1000;
  opacity:.35;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.07  0 0 0 0 0.06  0 0 0 0 0.04  0 0 0 0.45 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
a{color:inherit;text-decoration:underline;text-decoration-color:var(--vermillion);text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .15s}
a:hover{color:var(--vermillion)}
.shell{max-width:880px;margin:0 auto;padding:0 28px;position:relative;z-index:2}
.shell-wide{max-width:1320px;margin:0 auto;padding:0 28px;position:relative;z-index:2}
@media(max-width:640px){.shell,.shell-wide{padding:0 18px}}
.mono{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}

/* topbar */
.topbar{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:50}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:18px}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.01em;text-decoration:none}
.brand:hover{color:inherit}
.brand .mark-img{width:38px;height:38px;border-radius:10px;border:1.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:var(--paper);object-fit:cover;flex:none}
.brand em{font-style:italic;color:var(--vermillion);font-weight:400}
.nav{display:flex;gap:22px;align-items:center}
.nav a{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;opacity:.85;text-decoration:none}
.nav a:hover{opacity:1;color:var(--vermillion)}
.nav .home{border:1.5px solid var(--ink);padding:8px 14px;border-radius:999px;background:var(--ink);color:var(--paper);opacity:1}
.nav .home:hover{background:var(--vermillion);border-color:var(--vermillion);color:#fff}
.lang-switch{display:inline-flex;border:1.5px solid var(--ink);border-radius:999px;overflow:hidden}
.lang-switch button{font-family:var(--mono);font-size:11px;letter-spacing:.14em;font-weight:700;padding:7px 11px;background:transparent;color:var(--ink);border:0;cursor:pointer;transition:all .15s}
.lang-switch button + button{border-left:1.5px solid var(--ink)}
.lang-switch button.active{background:var(--ink);color:var(--paper)}
@media(max-width:780px){.nav a:not(.home){display:none}}

/* page header */
.page-head{padding:84px 0 36px;border-bottom:1px solid var(--rule)}
.page-head .kicker{display:flex;align-items:center;gap:14px;margin-bottom:28px}
.page-head .kicker .dot{width:7px;height:7px;border-radius:50%;background:var(--vermillion);box-shadow:0 0 0 4px rgba(255,59,31,.18)}
.page-head .kicker .line{flex:1;height:1px;background:var(--rule);opacity:.6}
.page-head h1{
  font-family:var(--display);font-weight:300;
  font-size:clamp(48px,7vw,96px);line-height:.92;letter-spacing:-.03em;
  font-variation-settings:"opsz" 144;
}
.page-head h1 em{font-style:italic;font-weight:400;color:var(--vermillion)}
.page-head .updated{margin-top:24px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.page-head .updated strong{color:var(--ink);font-weight:700}

/* prose */
.prose{display:none;padding:60px 0 80px}
.prose.active{display:block}
.prose h2{
  font-family:var(--display);font-weight:500;
  font-size:clamp(26px,3vw,38px);line-height:1.05;letter-spacing:-.02em;
  margin:48px 0 16px;padding-top:12px;border-top:1px solid var(--rule);
  display:flex;align-items:baseline;gap:14px;
}
.prose h2::before{
  content:counter(sec, decimal-leading-zero);counter-increment:sec;
  font-family:var(--mono);font-size:.45em;letter-spacing:.18em;color:var(--vermillion);font-weight:700;
}
.prose{counter-reset:sec}
.prose h3{font-family:var(--display);font-weight:500;font-style:italic;font-size:22px;margin:26px 0 10px;letter-spacing:-.015em;color:var(--ink-2)}
.prose p{margin:0 0 14px;max-width:64ch;font-size:17px;line-height:1.65;color:var(--ink-2)}
.prose strong{color:var(--ink);font-weight:700}
.prose ul,.prose ol{margin:0 0 18px;padding-left:0;list-style:none;max-width:64ch}
.prose ul li,.prose ol li{position:relative;padding-left:24px;margin-bottom:9px;line-height:1.55;color:var(--ink-2)}
.prose ul li::before{content:"→";position:absolute;left:0;top:0;color:var(--vermillion);font-family:var(--mono);font-weight:700}
.prose ol{counter-reset:item}
.prose ol li{counter-increment:item}
.prose ol li::before{content:counter(item) " ·";color:var(--vermillion);font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.05em}
.prose code{font-family:var(--mono);font-size:14px;background:var(--paper-2);padding:2px 6px;border:1px solid var(--rule)}
.prose .highlight{
  background:var(--paper-2);border:1.5px solid var(--ink);box-shadow:8px 8px 0 var(--ink);
  padding:20px 24px;margin:24px 0 36px;
}
.prose .highlight p{margin:0;font-family:var(--display);font-style:italic;font-weight:500;font-size:22px;color:var(--ink);line-height:1.3}

/* back link */
.back-link{margin-top:64px;padding-top:24px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}
.back-link a{text-decoration:none;border-bottom:1.5px solid var(--vermillion);padding-bottom:3px}

/* footer */
/* Trial CTA in nav — matches index-v2.html .nav .cta */
.nav .cta{
  border:1.5px solid var(--ink);padding:9px 16px;border-radius:999px;
  background:var(--ink);color:var(--paper);opacity:1;text-decoration:none;
}
.nav .cta:hover{background:var(--vermillion);border-color:var(--vermillion);color:#fff;text-decoration:none}
@media(max-width:780px){.nav .cta{padding:8px 12px;font-size:10.5px}}

/* Unified 4-column footer (matches index-v2.html footer) */
footer.legal-foot{border-top:1px solid var(--rule);padding:48px 0 36px;background:var(--paper);margin-top:60px}
.legal-foot .foot-grid{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:28px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.legal-foot .foot-grid a{opacity:.7;text-decoration:none;color:inherit}
.legal-foot .foot-grid a:hover{opacity:1;color:var(--vermillion)}
.legal-foot .foot-grid .col{display:flex;flex-direction:column;gap:10px;min-width:140px}
.legal-foot .foot-grid .col .h{color:var(--ink);font-weight:700;margin-bottom:6px}
.legal-foot .colophon{margin-top:34px;padding-top:22px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
@media(max-width:640px){.legal-foot .foot-grid{gap:22px}.legal-foot .colophon{font-size:10px}}

::selection{background:var(--vermillion);color:#fff}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
