@font-face { font-family:'DM Sans'; font-style:normal; font-weight:400 700; font-display:swap; src:url('vendor/fonts/dmsans-v17-rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z9mXg.woff2') format('woff2'); }
.policy-page { background:#e9ebe6; color:#232620; font-family:'DM Sans','Helvetica Neue',Arial,sans-serif; }
.policy-page header, .policy-page footer { max-width:1160px; padding:28px 32px; }
.policy-page header { gap:24px; }
.policy-page .brand { display:inline-flex; align-items:center; gap:9px; font:600 23px/1.2 'DM Sans',sans-serif; letter-spacing:-1px; }
.policy-page nav { align-items:center; gap:8px; }
.policy-page nav a { padding:8px 12px; border-radius:24px; text-decoration:none; }
.policy-page nav a:hover { background:#dce1d4; }
.policy-page nav [aria-current=page] { background:#e6f79b; color:#232620; }
.policy-page nav .policy-app { background:#232620; color:#f7f8f3; }
.policy-page main { max-width:960px; margin:24px auto 56px; padding:48px 56px; border:1px solid #d1d6ca; border-radius:24px; background:#f7f8f3; }
.policy-page .policy-label { color:#3f532d; font-size:11px; font-weight:700; letter-spacing:.12em; margin:0 0 20px; }
.policy-page h1 { font-weight:500; font-size:clamp(2.2rem,5vw,3.8rem); letter-spacing:-.045em; margin:0 0 16px; }
.policy-page .date { color:#5b6255; font-size:13px; }
.policy-page .intro { font-size:1.15rem; color:#3f4938; padding-bottom:28px; border-bottom:1px solid #d1d6ca; }
.policy-page h2 { font-size:1.35rem; font-weight:600; margin-top:36px; letter-spacing:-.025em; }
.policy-page a { color:#3f532d; }
.policy-page a:focus-visible { outline:3px solid #5d7542; outline-offset:4px; }
.policy-page p, .policy-page li { overflow-wrap:anywhere; }
.policy-page li + li { margin-top:12px; }
.policy-page th { background:#e6ebdf; }
.policy-page th, .policy-page td { border-color:#d1d6ca; }
.policy-page table { min-width:560px; }
.policy-page .table-wrap { border:1px solid #d1d6ca; border-radius:12px; }
.policy-page blockquote { background:#edf1e5; margin:24px 0; padding:24px; border-left:3px solid #5d7542; border-radius:0 12px 12px 0; }
.policy-page footer { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; border-color:#d1d6ca; color:#5b6255; }
.policy-skip { position:absolute; left:20px; top:-80px; padding:10px 16px; background:#e6f79b; z-index:10; }
.policy-skip:focus { top:12px; }
@media(max-width:700px) { .policy-page header,.policy-page footer { padding:24px 20px; } .policy-page header nav { width:100%; font-size:12px; } .policy-page nav a { padding:7px 10px; } .policy-page main { margin:8px 12px 32px; padding:28px 22px; border-radius:18px; } .policy-page .policy-label { font-size:10px; } }
@media print { .policy-page { background:white; color:black; } .policy-page header,.policy-page footer,.policy-skip { display:none; } .policy-page main { max-width:none; margin:0; padding:0; border:0; } .policy-page .table-wrap { overflow:visible; } .policy-page table { min-width:0; } .policy-page h2 { break-after:avoid; } }
