/* Legal v2 (page-terms-of-service-v2.php, page-privacy-policy-v2.php; layout template-parts/legal-v2/doc.php).
   v2 look: Averta CY (Semibold headings, Regular body), logo colours, near-black ink; hero fits 1440x800; readable column. */
@font-face { font-family:'Averta CY Web'; src:url('../fonts/om/AvertaCY-Regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Averta CY Web'; src:url('../fonts/om/AvertaCY-Semibold.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
/* the site chrome sets overflow-x:hidden on html/body, which would break position:sticky; clip keeps the same look */
html:has(main.lg2), html:has(main.lg2) body { overflow-x:clip; }
html:has(main.lg2) { scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce) { html:has(main.lg2) { scroll-behavior:auto; } }
.lg2 { --ink:#1D1D1B; --body:#3F4250; --muted:#6B7080; --hair:rgba(29,29,27,.1); --panel:#F6F8FB;
  --b:#4DAAE8; --g:#98C355; --y:#F7CA50; --r:#DB4B46; --bt:#2479B3; --hd:88px;
  --font:'Averta CY Web','Averta CY',sans-serif; font-family:var(--font); color:var(--body); font-size:16px; line-height:1.7; }
@media (min-width:1600px) and (min-height:821px) { .lg2 { --hd:134px; } }
.lg2 *, .lg2 *::before, .lg2 *::after { box-sizing:border-box; font-family:var(--font); }
.lg2 :where(h1,h2,h3,p,ul,ol) { margin:0; padding:0; }
.lg2 h1, .lg2 h2, .lg2 h3, .lg2 b, .lg2 strong { font-weight:600; color:var(--ink); }
.lg2-wrap { width:min(1200px, calc(100% - 48px)); margin-inline:auto; }
@media (min-width:1600px) { .lg2-wrap { width:min(1360px, calc(100% - 2 * clamp(24px,7vw,200px))); } }
.lg2 a { color:inherit; }
.lg2 :focus-visible { outline:3px solid var(--b); outline-offset:3px; border-radius:6px; }

/* hero: one screen at 1440x800 */
.lg2-hero { position:relative; overflow:hidden; background:linear-gradient(180deg,#F4F9FE 0%,#fff 100%); padding:48px 0 56px; min-height:min(calc(100vh - var(--hd)), 640px); display:flex; align-items:center; }
.lg2-hero::before { content:""; position:absolute; inset:auto 0 0 0; height:6px; background:linear-gradient(90deg,var(--b) 0 25%,var(--g) 25% 50%,var(--y) 50% 75%,var(--r) 75%); opacity:.9; }
.lg2-hero__grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:56px; align-items:center; }
.lg2-eyebrow { display:inline-block; font-weight:600; font-size:13px; line-height:1.4; letter-spacing:.06em; text-transform:uppercase; color:var(--bt); background:rgba(77,170,232,.12); border-radius:100px; padding:6px 14px; }
.lg2-h1 { font-size:clamp(40px,3.4vw,58px); line-height:1.1; letter-spacing:-1px; margin:16px 0 14px !important; }
.lg2-tagline { font-size:19px; font-weight:600; color:var(--ink); margin-bottom:8px !important; }
.lg2-lead { font-size:19px; line-height:1.6; max-width:52ch; }
.lg2-meta { list-style:none; display:flex; flex-wrap:wrap; gap:8px 10px; margin-top:22px !important; }
.lg2-meta li { display:inline-flex; align-items:center; gap:8px; font-size:14.5px; color:var(--muted); background:#fff; border:1px solid var(--hair); border-radius:100px; padding:6px 14px; }
.lg2-meta__date { color:var(--ink) !important; font-weight:600; border-color:rgba(77,170,232,.45) !important; }
.lg2-meta__date svg { color:var(--bt); }
.lg2-cta { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.lg2-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:12px 22px; border-radius:100px; background:var(--ink); color:#fff !important; font-weight:600; font-size:16px; line-height:1.2; text-decoration:none; border:1.5px solid var(--ink); cursor:pointer; transition:transform .15s ease, background .15s ease; }
.lg2-btn:hover { transform:translateY(-1px); text-decoration:none; }
.lg2-btn--line { background:#fff; color:var(--ink) !important; }
.lg2-btn--line:hover { background:#F4F9FE; }
.lg2-btn--light { background:#fff; color:var(--ink) !important; border-color:#fff; }
.lg2-hero__panel .opti-hl { margin:0; max-width:none; background:#0f172a; box-shadow:0 24px 60px -24px rgba(15,23,42,.45); }
.lg2-hero__panel .opti-hl__lines { grid-template-columns:1fr !important; gap:1rem; }
.lg2-hero__panel .opti-hl .opti-hl__lines li { font-weight:600; }
.lg2-hero__panel .opti-hl__punch { font-size:clamp(1.05rem,1.6vw,1.25rem) !important; }

/* body: sticky contents + readable column */
.lg2-body { display:grid; grid-template-columns:300px minmax(0,1fr); gap:64px; align-items:start; padding:56px 0 72px; }
.lg2-toc { position:sticky; top:calc(var(--hd) + 16px); scroll-margin-top:calc(var(--hd) + 16px); }
.lg2-toc__box { position:relative; overflow:hidden; background:linear-gradient(180deg,#F4F9FE 0%,#fff 70%); border:1px solid rgba(77,170,232,.18); border-radius:20px; padding:22px 10px 12px 14px; box-shadow:0 18px 40px -28px rgba(15,23,42,.35); }
.lg2-toc__box::before { content:""; position:absolute; left:0; right:0; top:0; height:5px; background:linear-gradient(90deg,var(--b) 0 25%,var(--g) 25% 50%,var(--y) 50% 75%,var(--r) 75%); }
.lg2-toc__box > summary { list-style:none; display:flex; align-items:baseline; justify-content:space-between; gap:8px; padding:0 10px 12px 6px; margin-bottom:6px; border-bottom:1px solid var(--hair); cursor:default; }
.lg2-toc__box > summary::-webkit-details-marker { display:none; }
.lg2-toc__box > summary span { font-weight:600; color:var(--ink); font-size:17px; }
.lg2-toc__box > summary small { font-size:12.5px; font-weight:600; color:var(--bt); background:rgba(77,170,232,.12); border-radius:100px; padding:2px 10px; }
.lg2-toc ol { list-style:none; max-height:calc(100vh - var(--hd) - 130px); overflow:auto; padding:2px 6px 2px 0 !important; scrollbar-width:thin; scrollbar-color:rgba(77,170,232,.45) transparent; }
.lg2-toc ol::-webkit-scrollbar { width:6px; } .lg2-toc ol::-webkit-scrollbar-track { background:transparent; }
.lg2-toc ol::-webkit-scrollbar-thumb { background:rgba(77,170,232,.45); border-radius:6px; }
.lg2-toc li { margin:0 0 2px; background:none; }
.lg2-toc li.lg2-c1 { --c:var(--b); --ct:rgba(77,170,232,.12); }
.lg2-toc li a { position:relative; display:flex; gap:10px; align-items:center; padding:6px 10px 6px 12px; border-radius:12px; text-decoration:none; font-size:14.5px; line-height:1.4; color:var(--body); background:transparent; border:0; min-height:38px; transition:background .15s ease, color .15s ease; }
.lg2-toc li a i { flex:0 0 auto; display:grid; place-items:center; width:28px; height:24px; border-radius:8px; font-style:normal; font-weight:600; font-size:12px; color:var(--ink); background:var(--ct); box-shadow:inset 0 -2px 0 var(--c); font-variant-numeric:tabular-nums; transition:background .15s ease, color .15s ease; }
.lg2-toc li a:hover { background:rgba(77,170,232,.08); color:var(--ink); }
.lg2-toc li a.is-on { background:rgba(77,170,232,.14); color:var(--ink); font-weight:600; }
.lg2-toc li a.is-on::before { content:""; position:absolute; left:0; top:7px; bottom:7px; width:4px; border-radius:4px; background:var(--b); }
.lg2-toc li a.is-on i { background:var(--b); color:#fff; box-shadow:none; }
.lg2-doc { max-width:760px; }
.lg2-note { font-size:15px; color:var(--muted); padding:0 0 8px; }
.lg2-sec { --c:var(--b); --ct:rgba(77,170,232,.1); scroll-margin-top:calc(var(--hd) + 16px); padding:40px 0 8px; border-bottom:1px solid var(--hair); }
.lg2-c2 { --c:var(--g); --ct:rgba(152,195,85,.14); } .lg2-c3 { --c:var(--y); --ct:rgba(247,202,80,.18); } .lg2-c4 { --c:var(--r); --ct:rgba(219,75,70,.09); }
.lg2-sec__head { display:flex; align-items:center; gap:14px; margin-bottom:16px; }
.lg2-sec__n { flex:0 0 auto; width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:var(--ct); color:var(--ink); font-weight:600; font-size:15px; box-shadow:inset 0 -3px 0 var(--c); font-variant-numeric:tabular-nums; }
.lg2-sec h2 { font-size:clamp(24px,2vw,30px); line-height:1.25; letter-spacing:-.3px; }
.lg2-short { background:var(--ct); border-left:4px solid var(--c); border-radius:0 14px 14px 0; padding:14px 18px; margin-bottom:22px; }
.lg2-short p { font-size:16.5px; line-height:1.6; color:var(--ink); }
.lg2-text { font-size:17px; line-height:1.75; color:var(--body); }
.lg2-text p { margin:0 0 16px; }
.lg2-text h3 { font-size:19px; line-height:1.35; margin:28px 0 10px; }
.lg2-text ul, .lg2-text ol { margin:0 0 18px; padding-left:24px; }
.lg2-text ul { list-style:disc; } .lg2-text ol { list-style:decimal; }
.lg2-text li { margin:0 0 6px; padding-left:4px; }
.lg2-text li::marker { color:var(--muted); }
.lg2-text a { color:var(--bt); text-decoration:underline; text-underline-offset:3px; word-break:break-word; }
.lg2-full { margin-bottom:12px; }
.lg2-full > summary { list-style:none; display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:10px 18px; border:1.5px solid var(--ink); border-radius:100px; font-weight:600; color:var(--ink); cursor:pointer; user-select:none; }
.lg2-full > summary::-webkit-details-marker { display:none; }
.lg2-full > summary::after { content:""; width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .2s; }
.lg2-full[open] > summary::after { transform:translateY(2px) rotate(-135deg); }
.lg2-full > summary small { font-weight:400; color:var(--muted); font-size:13.5px; }
.lg2-full > summary:hover { background:#F4F9FE; }
.lg2-full__close, .lg2-full[open] .lg2-full__open { display:none; }
.lg2-full[open] .lg2-full__close { display:inline; }
.lg2-full[open] > .lg2-text { margin-top:22px; }
.lg2-top { display:inline-flex; align-items:center; gap:6px; min-height:44px; font-size:14px; color:var(--muted) !important; text-decoration:none; }
.lg2-top:hover { color:var(--ink) !important; }

/* contact band */
.lg2-contact { padding:0 0 72px; }
.lg2-contact__box { display:grid; grid-template-columns:1fr auto auto; gap:32px; align-items:center; background:#1D1D1B; color:#fff; border-radius:28px; padding:36px 40px; position:relative; overflow:hidden; }
.lg2-contact__box::after { content:""; position:absolute; left:0; right:0; bottom:0; height:5px; background:linear-gradient(90deg,var(--b) 0 25%,var(--g) 25% 50%,var(--y) 50% 75%,var(--r) 75%); }
.lg2-contact h2 { color:#fff; font-size:clamp(22px,2vw,28px); line-height:1.25; margin-bottom:6px !important; }
.lg2-contact p { color:rgba(255,255,255,.78); max-width:52ch; }
.lg2-contact__mail span { display:block; font-size:13px; color:rgba(255,255,255,.65); }
.lg2-contact__mail a { color:#cfe3ff !important; font-weight:600; font-size:18px; text-decoration:none; }
.lg2-contact__mail a:hover { text-decoration:underline; }

/* laptop heights */
@media (max-height:700px) and (min-width:992px) { .lg2-hero { padding:28px 0 36px; } .lg2-h1 { margin:12px 0 10px !important; } .lg2-meta { margin-top:16px !important; } .lg2-cta { margin-top:20px; } .lg2-hero__panel .opti-hl { padding:1.5rem 1.8rem; } }

/* tablet / phone */
@media (max-width:991px) {
  .lg2-hero { min-height:0; padding:32px 0 40px; }
  .lg2-hero__grid { grid-template-columns:1fr; gap:28px; }
  .lg2-body { grid-template-columns:1fr; gap:24px; padding:28px 0 48px; }
  .lg2-toc { position:static; }
  .lg2-toc__box > summary { cursor:pointer; padding-bottom:6px; }
  .lg2-toc__box > summary span::after { content:" \25BE"; color:var(--muted); }
  .lg2-toc__box:not([open]) > summary { padding-bottom:6px; }
  .lg2-toc ol { max-height:none; overflow:visible; }
  .lg2-toc li a { min-height:44px; align-items:center; }
  .lg2-doc { max-width:none; }
  .lg2-contact__box { grid-template-columns:1fr; gap:18px; padding:28px 24px; }
}
@media (max-width:600px) {
  .lg2-wrap { width:calc(100% - 40px); }
  .lg2-h1 { font-size:38px; }
  .lg2-lead, .lg2-tagline { font-size:17px; }
  .lg2-cta .lg2-btn { width:100%; }
  .lg2-sec { padding-top:32px; }
  .lg2-sec h2 { font-size:22px; }
  .lg2-text { font-size:16px; }
  .lg2-short p { font-size:15.5px; }
  .lg2-full > summary { width:100%; justify-content:center; }
}

/* print: just the document */
@media print {
  @page { margin:18mm 16mm; }
  html:has(main.lg2) body { padding-top:0 !important; background:#fff !important; }
  .osh, .osf, .osn, footer, header.osh, .ois, .ois-ph, .lg2-cta, .lg2-toc, .lg2-top, .lg2-contact .lg2-btn, .lg2-hero__panel, .lg2-full > summary, #wpadminbar { display:none !important; }
  .lg2 { color:#000; font-size:11pt; }
  .lg2-hero { min-height:0; padding:0 0 12pt; background:none; }
  .lg2-hero::before, .lg2-contact__box::after { display:none; }
  .lg2-hero__grid, .lg2-body { display:block; padding:0; }
  .lg2-wrap { width:auto; }
  .lg2-doc { max-width:none; }
  .lg2-meta li { border:0; padding:0 10pt 0 0; background:none; }
  .lg2-sec { break-inside:auto; border:0; padding:14pt 0 0; }
  .lg2-sec__head { break-after:avoid; }
  .lg2-sec__n { box-shadow:none; border:1px solid #999; width:auto; height:auto; padding:0 6pt; background:none; }
  .lg2-short { break-inside:avoid; background:none; border:1px solid #bbb; border-left:3pt solid #555; }
  .lg2-text { font-size:10.5pt; line-height:1.5; color:#000; }
  .lg2-full > .lg2-text { display:block !important; margin-top:8pt; }
  .lg2-text a { color:#000; }
  .lg2-contact { padding:12pt 0 0; }
  .lg2-contact__box { display:block; background:none; color:#000; padding:0; border-radius:0; }
  .lg2-contact h2, .lg2-contact p, .lg2-contact__mail a, .lg2-contact__mail span { color:#000 !important; }
}
