.cf-legal-page{background:#F7FAF5}.cf-legal-hero{padding:clamp(64px,8vw,104px) 0 56px;background:radial-gradient(circle at 86% 10%,rgba(157,231,19,.14),transparent 25%),radial-gradient(circle at 66% 100%,rgba(71,209,149,.12),transparent 30%),linear-gradient(135deg,#fff,#F2F8F2);border-bottom:1px solid var(--cf-line)}.cf-legal-hero__inner{display:flex;align-items:flex-end;justify-content:space-between;gap:34px}.cf-legal-hero h1{margin:12px 0 12px;max-width:860px;color:var(--cf-ink);font:750 clamp(42px,6vw,72px)/1.02 var(--cf-display);letter-spacing:-.045em}.cf-legal-hero p{max-width:760px;margin:0;color:var(--cf-text);font-size:16px;line-height:1.75}.cf-legal-meta{flex:0 0 auto;display:grid;gap:5px;padding:14px 16px;border:1px solid rgba(31,174,120,.18);background:rgba(255,255,255,.72);backdrop-filter:blur(12px);border-radius:14px;color:var(--cf-muted);font-size:11px}.cf-legal-meta a{color:var(--cf-green);font-weight:800}.cf-legal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:42px;padding:46px 0 96px;align-items:start}.cf-legal-nav-wrap{position:sticky;top:104px}.cf-legal-nav{display:grid;gap:2px;padding:18px;border:1px solid var(--cf-line);background:#fff;border-radius:18px;box-shadow:var(--cf-shadow-sm);max-height:calc(100vh - 130px);overflow:auto}.cf-legal-nav strong{padding:0 9px 10px;color:var(--cf-ink);font:750 12px/1.2 var(--cf-display)}.cf-legal-nav a{padding:7px 9px;border-radius:9px;color:var(--cf-muted);font-size:11px;font-weight:650;line-height:1.35}.cf-legal-nav a:hover{background:#F0F8F3;color:var(--cf-green)}.cf-legal-prose{min-width:0;background:#fff;border:1px solid var(--cf-line);border-radius:28px;padding:clamp(30px,5vw,58px);box-shadow:var(--cf-shadow-sm)}.cf-legal-prose .cf-legal-intro{margin:0 0 34px;padding:20px 22px;border-left:3px solid var(--cf-mint);border-radius:0 14px 14px 0;background:#F3FAF5;color:var(--cf-ink);font-size:16px;line-height:1.75}.cf-legal-prose h2{scroll-margin-top:110px;margin:46px 0 12px;color:var(--cf-ink);font:750 clamp(23px,2.4vw,31px)/1.2 var(--cf-display);letter-spacing:-.025em}.cf-legal-prose h2:first-of-type{margin-top:0}.cf-legal-prose p,.cf-legal-prose li{color:var(--cf-text);font-size:14.5px;line-height:1.85}.cf-legal-prose a{color:var(--cf-green);font-weight:750}.cf-legal-review-note{margin-top:52px;padding:18px 20px;border:1px solid #DCE8E0;background:#FAFCFA;border-radius:16px}.cf-legal-review-note strong{display:block;color:var(--cf-ink);font:750 12px/1.2 var(--cf-display);margin-bottom:6px}.cf-legal-review-note p{margin:0;font-size:11.5px;color:var(--cf-muted)}@media(max-width:940px){.cf-legal-hero__inner{align-items:flex-start;flex-direction:column}.cf-legal-layout{grid-template-columns:1fr}.cf-legal-nav-wrap{position:static}.cf-legal-nav{display:flex;gap:6px;overflow:auto;max-height:none;padding:12px;white-space:nowrap}.cf-legal-nav strong{display:none}.cf-legal-nav a{flex:0 0 auto;border:1px solid var(--cf-line);background:#fff}}@media(max-width:620px){.cf-legal-hero{padding:50px 0 40px}.cf-legal-hero h1{font-size:40px}.cf-legal-hero p{font-size:14px}.cf-legal-layout{padding:24px 0 62px}.cf-legal-prose{padding:23px 17px;border-radius:20px}.cf-legal-prose .cf-legal-intro{font-size:14px;padding:16px}.cf-legal-prose h2{font-size:23px;margin-top:36px}}

/* 0.15.8 — mobile legal-page display hotfix */
.cf-legal-mobile-toc{display:none}
.cf-legal-prose,.cf-legal-prose *{min-width:0}
.cf-legal-prose p,.cf-legal-prose li,.cf-legal-prose a,.cf-legal-meta a{overflow-wrap:anywhere;word-break:normal}
.cf-legal-prose img,.cf-legal-prose video,.cf-legal-prose iframe{max-width:100%;height:auto}
.cf-legal-prose table,.cf-legal-prose .wp-block-table{max-width:100%}

@media(max-width:940px){
  .cf-legal-layout{gap:18px;padding-top:24px}
  .cf-legal-nav-wrap--desktop{display:none}
  .cf-legal-mobile-toc{display:block;width:100%;border:1px solid var(--cf-line);background:#fff;border-radius:16px;box-shadow:var(--cf-shadow-sm);overflow:hidden}
  .cf-legal-mobile-toc summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;color:var(--cf-ink);font:750 13px/1.25 var(--cf-display);cursor:pointer;list-style:none}
  .cf-legal-mobile-toc summary::-webkit-details-marker{display:none}
  .cf-legal-mobile-toc summary span{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:999px;background:#EAF8EF;color:var(--cf-green);font:800 18px/1 var(--cf-body);transition:transform .2s ease}
  .cf-legal-mobile-toc[open] summary span{transform:rotate(45deg)}
  .cf-legal-mobile-toc__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;padding:4px 14px 14px;border-top:1px solid var(--cf-line)}
  .cf-legal-mobile-toc__links a{display:block;min-width:0;padding:10px 3px;border-bottom:1px solid rgba(5,33,35,.08);color:var(--cf-muted);font-size:12px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}
  .cf-legal-mobile-toc__links a:hover,.cf-legal-mobile-toc__links a:focus-visible{color:var(--cf-green)}
}

@media(max-width:620px){
  .cf-legal-hero{padding:42px 0 32px}
  .cf-legal-hero__inner{gap:20px}
  .cf-legal-hero h1{font-size:clamp(34px,10vw,40px);line-height:1.06;letter-spacing:-.035em;overflow-wrap:anywhere}
  .cf-legal-hero p{font-size:14.5px;line-height:1.65}
  .cf-legal-meta{width:100%;min-width:0;padding:12px 14px}
  .cf-legal-layout{padding:18px 0 56px;gap:14px}
  .cf-legal-mobile-toc{border-radius:14px}
  .cf-legal-mobile-toc__links{grid-template-columns:1fr 1fr;gap:0 10px;padding-inline:12px}
  .cf-legal-prose{width:100%;padding:22px 16px;border-radius:18px}
  .cf-legal-prose .cf-legal-intro{margin-bottom:28px;padding:15px 14px;font-size:14.5px;line-height:1.7}
  .cf-legal-prose h2{font-size:22px;line-height:1.22;margin-top:34px;scroll-margin-top:88px;overflow-wrap:anywhere}
  .cf-legal-prose p,.cf-legal-prose li{font-size:14.5px;line-height:1.75}
  .cf-legal-prose ul,.cf-legal-prose ol{padding-left:1.25rem}
  .cf-legal-prose table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .cf-legal-prose pre,.cf-legal-prose code{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
  .cf-legal-review-note{margin-top:38px;padding:16px}
}

@media(max-width:390px){
  .cf-legal-mobile-toc__links{grid-template-columns:1fr}
  .cf-legal-prose{padding-inline:14px}
}


/* 0.15.9 — Privacy Policy mobile display hardening */
.cf-privacy-policy-page .cf-legal-prose{
  max-width:100%;
}

@media(max-width:940px){
  .cf-privacy-policy-page{
    overflow-x:clip;
  }
  .cf-privacy-policy-page .cf-legal-hero,
  .cf-privacy-policy-page .cf-legal-layout,
  .cf-privacy-policy-page .cf-legal-prose,
  .cf-privacy-policy-page .cf-legal-mobile-toc{
    max-width:100%;
  }
  .cf-privacy-policy-page .cf-legal-mobile-toc__links{
    grid-template-columns:1fr;
    max-height:min(56vh,430px);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .cf-privacy-policy-page .cf-legal-mobile-toc__links a{
    padding:10px 4px;
  }
}

@media(max-width:620px){
  .cf-privacy-policy-page .cf-shell{
    width:min(calc(100% - 24px),var(--cf-shell));
  }
  .cf-privacy-policy-page .cf-legal-hero{
    padding:34px 0 26px;
  }
  .cf-privacy-policy-page .cf-legal-hero__inner{
    gap:16px;
  }
  .cf-privacy-policy-page .cf-legal-hero h1{
    margin-top:9px;
    margin-bottom:10px;
    font-size:clamp(31px,9.2vw,38px);
    line-height:1.08;
  }
  .cf-privacy-policy-page .cf-legal-hero p{
    max-width:100%;
    font-size:14px;
    line-height:1.6;
  }
  .cf-privacy-policy-page .cf-legal-meta{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    padding:11px 12px;
    border-radius:12px;
  }
  .cf-privacy-policy-page .cf-legal-layout{
    width:min(calc(100% - 24px),var(--cf-shell));
    padding:14px 0 48px;
    gap:12px;
  }
  .cf-privacy-policy-page .cf-legal-mobile-toc summary{
    padding:13px 14px;
  }
  .cf-privacy-policy-page .cf-legal-mobile-toc__links{
    padding:2px 12px 12px;
  }
  .cf-privacy-policy-page .cf-legal-prose{
    margin:0;
    padding:19px 14px;
    border-radius:16px;
    overflow:hidden;
  }
  .cf-privacy-policy-page .cf-legal-prose .cf-legal-intro{
    margin:0 0 24px;
    padding:14px 13px;
    font-size:14px;
    line-height:1.65;
  }
  .cf-privacy-policy-page .cf-legal-prose h2{
    margin:30px 0 9px;
    font-size:21px;
    line-height:1.22;
    letter-spacing:-.02em;
  }
  .cf-privacy-policy-page .cf-legal-prose h2:first-of-type{
    margin-top:0;
  }
  .cf-privacy-policy-page .cf-legal-prose p,
  .cf-privacy-policy-page .cf-legal-prose li{
    font-size:14px;
    line-height:1.7;
  }
  .cf-privacy-policy-page .cf-legal-prose p{
    margin-top:.7em;
    margin-bottom:1em;
  }
  .cf-privacy-policy-page .cf-legal-prose ul,
  .cf-privacy-policy-page .cf-legal-prose ol{
    margin-block:10px 18px;
    padding-left:1.15rem;
  }
  .cf-privacy-policy-page .cf-legal-review-note{
    margin-top:32px;
    padding:14px;
    border-radius:14px;
  }
}

@media(max-width:380px){
  .cf-privacy-policy-page .cf-shell,
  .cf-privacy-policy-page .cf-legal-layout{
    width:min(calc(100% - 20px),var(--cf-shell));
  }
  .cf-privacy-policy-page .cf-legal-prose{
    padding-inline:12px;
  }
  .cf-privacy-policy-page .cf-legal-hero h1{
    font-size:30px;
  }
}
