/* Legal pages share the marketing site's type, color and brand primitives. */
.privacy-page{--policy-gutter:clamp(22px,4.5vw,80px);color-scheme:light}
.privacy-page .policy-shell{max-width:1800px;margin:auto}
.privacy-page .site-header{position:relative;inset:auto;border-bottom:1px solid var(--line);padding-inline:var(--policy-gutter)}
.privacy-page .policy-back{min-height:46px;padding:0 24px;gap:28px;font-size:12px;white-space:nowrap}
.privacy-page .policy-back :is(.desktop-label,.mobile-label){font-size:12px;line-height:1.3}
.privacy-page .policy-back .mobile-label{display:none}
.privacy-page .policy-back .back-arrow{font-size:20px;transition:transform .25s}
.privacy-page .policy-back:hover .back-arrow{transform:translate(-3px,3px)}
.privacy-page main{position:relative}
.privacy-page .policy-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:620px;padding:70px var(--policy-gutter) 80px;border-bottom:1px solid var(--line);background:var(--paper)}
.privacy-page .policy-hero-copy{position:relative;z-index:1;width:44%;max-width:600px;animation:policy-copy-arrive .8s cubic-bezier(.16,1,.3,1) both}
.privacy-page .policy-hero .eyebrow{font-size:9px;letter-spacing:.13em}
.privacy-page h1{font-size:clamp(72px,7.8vw,116px);font-weight:500;line-height:1.02;letter-spacing:-.075em;margin:27px 0 26px}
.privacy-page h1 em{color:#788264}
.privacy-page .policy-intro{max-width:580px;font-size:17px;line-height:1.8;color:#666d5e;text-wrap:pretty}
.privacy-page .policy-date{display:inline-flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.025em;margin-top:26px;padding:9px 13px;border:1px solid #b7c2a1;border-radius:30px;color:#566444}
.privacy-page .policy-date:before{content:'';width:5px;height:5px;border-radius:50%;background:#6d8c35}
.privacy-page .policy-art{position:absolute;pointer-events:none;right:1.5%;bottom:0;width:min(69vw,1120px);aspect-ratio:1343/796}
.privacy-page .policy-orbit{position:absolute;right:0;top:8%;width:53%;height:auto;fill:none;stroke:#8e9487;stroke-width:.7;opacity:.2;animation:policy-orbit 100s linear infinite}
.privacy-page .policy-art .policy-guardian{display:block;width:100%;height:100%;position:relative;object-fit:contain}
.privacy-page .policy-layout{display:grid;grid-template-columns:235px minmax(0,760px);justify-content:space-between;gap:clamp(45px,7vw,110px);width:calc(100% - 2 * var(--policy-gutter));max-width:1120px;margin-inline:auto;padding:68px 0 90px}
.privacy-page .policy-index{position:sticky;top:30px;align-self:start;max-height:calc(100dvh - 60px);overflow:auto;border-top:1px solid var(--line)}
.privacy-page .policy-index summary{list-style:none;display:flex;align-items:center;gap:12px;padding:20px 12px 20px 0;font-size:11px;font-weight:500;cursor:pointer}
.privacy-page .policy-index summary::-webkit-details-marker{display:none}
.privacy-page .policy-index summary:after{content:'+';display:grid;place-items:center;flex-shrink:0;width:18px;height:18px;font-size:18px;font-weight:400;line-height:1;margin-left:auto;transition:transform .25s}
.privacy-page .policy-index[open] summary:after{transform:rotate(45deg)}
.privacy-page .policy-index-count{font-size:9px;color:var(--muted);font-weight:400}
.privacy-page .policy-index nav{border-top:1px solid var(--line);padding-top:9px}
.privacy-page .policy-index a{display:flex;align-items:center;gap:15px;min-height:47px;padding:9px 10px 9px 0;font-size:12px;line-height:1.5;color:#5c6552;transition:color .2s,background .2s,padding .2s;border-radius:3px}
.privacy-page .policy-index a span{font-size:9px;color:#7f9067;font-variant-numeric:tabular-nums}
.privacy-page .policy-index a:hover{color:#252723;background:#e3e9d6;padding-left:9px}
.privacy-page .policy-index a:focus-visible,.privacy-page .policy-index summary:focus-visible{outline:2px solid #668e13;outline-offset:3px}
.privacy-page .policy-copy{min-width:0;counter-reset:policy-section}
.privacy-page .policy-copy section{counter-increment:policy-section;border-bottom:1px solid var(--line);padding-bottom:38px;margin-bottom:38px;scroll-margin-top:30px}
.privacy-page .policy-copy h2{font-size:clamp(25px,2.3vw,32px);line-height:1.25;letter-spacing:-.045em;font-weight:500;margin-bottom:23px}
.privacy-page .policy-copy h2:before{content:counter(policy-section,decimal-leading-zero) ' /';display:block;font-family:var(--body);font-size:9px;font-weight:400;letter-spacing:.08em;line-height:1;margin-bottom:15px;color:#74865a}
.privacy-page .policy-copy p,.privacy-page .policy-copy li{font-size:16px;line-height:1.85;color:#5b6253}
.privacy-page .policy-copy p{margin:0 0 17px}
.privacy-page .policy-copy p:last-child{margin-bottom:0}
.privacy-page .policy-copy ul{padding-left:19px;margin:0 0 22px}
.privacy-page .policy-copy li{padding-left:5px;margin-bottom:14px}
.privacy-page .policy-copy strong{font-weight:600;color:#30382a}
.privacy-page .policy-copy li::marker{color:#7c9652;font-size:10px}
.privacy-page .policy-copy #contact{border:0;margin-bottom:0;padding-bottom:0}
.privacy-page .policy-contact{border-radius:20px;background:var(--lime);padding:28px 30px}
.privacy-page .policy-contact p{color:#354125;font-size:13px}
.privacy-page .policy-contact a{font-family:var(--font);font-size:clamp(24px,2.7vw,34px);font-weight:500;letter-spacing:-.045em;color:#252723;display:inline-flex;gap:20px;align-items:center;min-height:44px;transition:gap .2s}
.privacy-page .policy-contact a:after{content:none}
.privacy-page .policy-contact a:hover{gap:28px}
.privacy-page .policy-preview{margin:26px var(--policy-gutter);padding:17px 21px;background:var(--lime);font-size:13px;line-height:1.7;border-radius:5px}
.privacy-page .policy-preview strong{display:block}
.privacy-page .policy-footer-note{margin:0;padding:0 var(--policy-gutter) 22px;color:#717966;font-size:10px}
.site-footer[data-legal-footer]{display:flex;align-items:center;gap:32px;padding:30px clamp(22px,4.5vw,80px);border-top:1px solid var(--line);background:var(--paper);color:var(--ink)}
.site-footer[data-legal-footer] .footer-brand{flex-shrink:0}
.site-footer[data-legal-footer] .footer-note{font-size:10px;line-height:1.7;max-width:340px;letter-spacing:0;text-transform:none;width:auto;order:0}
.site-footer[data-legal-footer] .footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-left:auto}
.site-footer[data-legal-footer] .footer-links a{font-size:11px;line-height:1.5;min-height:44px;display:inline-flex;align-items:center;gap:9px;margin:0;position:relative}
.site-footer[data-legal-footer] .footer-links a:after{content:'';position:absolute;left:0;right:0;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.site-footer[data-legal-footer] .footer-links a:hover:after,.site-footer[data-legal-footer] .footer-links [aria-current=page]:after{transform:scaleX(1)}
@keyframes policy-orbit{to{transform:rotate(360deg)}}
@keyframes policy-copy-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.privacy-page .policy-layout{max-width:1240px;grid-template-columns:260px minmax(0,860px)}}
@media(min-width:1800px){.privacy-page .policy-hero{min-height:690px}}
@media(max-width:1250px){.privacy-page .policy-hero{display:block;min-height:0;padding-bottom:0}.privacy-page .policy-hero-copy{width:100%;max-width:600px}.privacy-page .policy-art{position:relative;width:min(100%,800px);right:auto;margin:5px -15px 0 auto}.privacy-page h1{font-size:88px}}
@media(max-width:1000px){.privacy-page .policy-layout{grid-template-columns:200px minmax(0,1fr);gap:45px}.site-footer[data-legal-footer]{gap:25px}.site-footer[data-legal-footer] .footer-note{max-width:250px}}
@media(max-width:760px){
  .privacy-page .site-header{height:88px;gap:14px}
  .privacy-page .policy-back{min-height:42px;padding:0 17px;gap:15px;font-size:11px}
  .privacy-page .policy-back :is(.desktop-label,.mobile-label){font-size:11px}
  .privacy-page .policy-back .desktop-label{display:none}.privacy-page .policy-back .mobile-label{display:inline}
  .privacy-page .policy-hero{display:block;min-height:0;padding-top:43px;padding-bottom:0;background:var(--paper)}
  .privacy-page h1{font-size:clamp(68px,16vw,96px);margin:27px 0 24px}
  .privacy-page .policy-hero .eyebrow{font-size:8px;line-height:1.6}
  .privacy-page .policy-intro{font-size:15px;line-height:1.85;max-width:540px}
  .privacy-page .policy-date{margin-top:23px;font-size:9px}
  .privacy-page .policy-art{width:calc(100% + 2 * var(--policy-gutter));max-width:660px;margin:26px calc(-1 * var(--policy-gutter)) 0}
  .privacy-page .policy-layout{grid-template-columns:1fr;gap:35px;padding-top:28px;padding-bottom:55px}
  .privacy-page .policy-index{position:static;max-height:none;overflow:visible;border-bottom:1px solid var(--line)}
  .privacy-page .policy-index summary{padding:18px 12px 18px 0;font-size:12px}
  .privacy-page .policy-index nav{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;padding:9px 0 15px}
  .privacy-page .policy-index a{font-size:11px;min-height:48px;gap:9px;padding-right:0}
  .privacy-page .policy-copy h2{font-size:27px;margin-bottom:19px;letter-spacing:-.045em}
  .privacy-page .policy-copy section{margin-bottom:29px;padding-bottom:29px;scroll-margin-top:24px}
  .privacy-page .policy-copy p,.privacy-page .policy-copy li{font-size:15px;line-height:1.9}
  .privacy-page .policy-copy ul{padding-left:17px}
  .privacy-page .policy-contact{padding:24px 21px;border-radius:16px}
  .privacy-page .policy-contact a{font-size:27px;gap:15px}
  .privacy-page .policy-contact p{font-size:13px}
  .site-footer[data-legal-footer]{flex-wrap:wrap;gap:12px;padding-top:27px;padding-bottom:28px}
  .site-footer[data-legal-footer] .footer-brand{flex-basis:100%}
  .site-footer[data-legal-footer] .footer-links{flex-basis:100%;margin-left:0;justify-content:space-between;gap:18px}
  .site-footer[data-legal-footer] .footer-note{order:3;font-size:10px;max-width:none;width:100%}
  .site-footer[data-legal-footer] .footer-links a{font-size:12px}
}
@media(max-width:360px){.privacy-page .brand{gap:8px}.privacy-page .brand .brand-name{font-size:20px}.privacy-page .brand .brand-tagline{font-size:5.5px}.privacy-page .brand-mark{width:27px;height:27px}.privacy-page .policy-back{padding:0 13px;gap:12px}.privacy-page .policy-contact a{font-size:24px}}
@media(prefers-reduced-motion:reduce){.privacy-page .policy-hero-copy,.privacy-page .policy-orbit{animation:none}.privacy-page .policy-back .back-arrow,.privacy-page .policy-index a,.privacy-page .policy-index summary:after,.privacy-page .policy-contact a,.site-footer[data-legal-footer] .footer-links a:after{transition:none}}

/* Every layer uses the same artboard, so arrows meet the shield at all sizes. */
.privacy-page .policy-guardian .guardian-layer{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.privacy-page .guardian-figure{transform-origin:50% 100%;animation:policy-figure .95s cubic-bezier(.16,1,.3,1) both}
.privacy-page .guardian-reflection{animation:policy-shield 2.8s ease-out both}
.privacy-page .guardian-accent{animation:policy-accent .55s 1.08s cubic-bezier(.16,1,.3,1) both}
.privacy-page .guardian-arrow{animation:policy-arrow 1.05s cubic-bezier(.22,.7,.3,1) both}
.privacy-page .arrow-one{--from-x:5%;--from-y:-18%;--hit-x:-2%;--hit-y:6%;animation-delay:.65s}
.privacy-page .arrow-two{--from-x:12%;--from-y:-17%;--hit-x:-2.7%;--hit-y:4%;animation-delay:.85s}
.privacy-page .arrow-three{--from-x:15%;--from-y:-15%;--hit-x:-3.5%;--hit-y:3.5%;animation-delay:1.05s}
.privacy-page .arrow-four{--from-x:16%;--from-y:9%;--hit-x:-2.5%;--hit-y:-1.5%;animation-delay:1.25s}
@keyframes policy-figure{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
@keyframes policy-accent{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes policy-arrow{0%,8%{opacity:0;transform:translate(var(--from-x),var(--from-y))}24%{opacity:1}55%{opacity:1;transform:translate(var(--hit-x),var(--hit-y))}100%{opacity:1;transform:none}}
@keyframes policy-shield{0%,32%{opacity:0}43%{opacity:1}49%{opacity:.45}51%{opacity:1}57%{opacity:.55}59%{opacity:1}64%{opacity:.6}66%,100%{opacity:1}}
@media(prefers-reduced-motion:reduce){.privacy-page .policy-guardian .guardian-layer{animation:none;transform:none;opacity:1}}
