:root{
  --bg:#F6F2EA;--band:#EDE6D8;--surface:#FFFFFF;--ink:#1E2A2C;--body:#3D4A4C;--muted:#5A6567;
  --line:#E3DCCD;--line-2:#E0D7C5;--accent:#1D5A55;--accent-hover:#164A45;--on-accent:#FFFFFF;
  --peach:#F2B48C;--logo:#1D5A55;--logo-ink:#1E2A2C;
  --display:'Lora',Georgia,'Times New Roman',serif;
  --sans:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;
  --gutter:clamp(16px,4vw,48px);
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#131B1C;--band:#1A2426;--surface:#1F2A2C;--ink:#EEE9DF;--body:#C4CCCA;--muted:#9AA6A6;
  --line:#2E3A3C;--line-2:#334042;--accent:#6BBDB1;--accent-hover:#86CCC2;--on-accent:#0E1A1B;
  --logo:#8CC7C0;--logo-ink:#EEE9DF;color-scheme:dark;
}}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
a:hover{color:var(--accent-hover)}
:focus-visible{outline:3px solid var(--peach);outline-offset:2px;border-radius:4px}
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--bg);border-bottom:1px solid var(--line);padding:14px var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:12px 20px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);min-height:44px}
.brand svg{width:42px;height:42px;flex:0 0 auto}
.brand .ring{fill:none;stroke:var(--logo);stroke-width:12;stroke-linecap:round}
.brand .dot{fill:#F2B48C}
.brand .ipl{font-family:var(--display);font-weight:600;font-size:30px;letter-spacing:.02em;color:var(--logo-ink);line-height:1}
.brand .full{font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.2;color:var(--body);padding-left:12px;border-left:1px solid var(--line-2)}
.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px}
.site-nav a{font-size:16px;text-decoration:none;color:var(--body);min-height:44px;display:inline-flex;align-items:center}
.site-nav .btn{min-height:44px;padding:10px 20px;font-size:16px;color:var(--on-accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 26px;border-radius:999px;font-weight:600;font-size:17px;text-decoration:none;border:2px solid transparent;font-family:var(--sans);line-height:1.2;text-align:center}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.btn-primary:hover{background:var(--accent-hover);color:var(--on-accent)}
.policy-content{max-width:calc(720px + 2 * var(--gutter));margin:0 auto;padding:clamp(48px,8vw,96px) var(--gutter);color:var(--body);overflow-wrap:anywhere}
.policy-content h1,.policy-content h2{font-family:var(--display);font-weight:600;line-height:1.2;color:var(--ink)}
.policy-content h1{font-size:clamp(36px,5vw,52px);margin:0 0 26px}
.policy-content h2{font-size:clamp(24px,3vw,30px);margin:36px 0 14px}
.policy-content p{margin:0 0 18px}
.policy-content ul{padding-left:24px;margin:0 0 20px}
.policy-content li{margin-bottom:10px}
.table-scroll{overflow-x:auto;margin:0 0 22px}
.policy-content table{width:100%;border-collapse:collapse;text-align:left;font-size:16px}
.policy-content th,.policy-content td{padding:12px;border:1px solid var(--line);vertical-align:top}
.policy-content th{background:var(--band);color:var(--ink);font-weight:600}
.policy-content th:first-child{width:32%}
.policy-content td:first-child{overflow-wrap:normal}
footer.site-footer{padding:32px var(--gutter);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:15px;color:var(--muted);border-top:1px solid var(--line)}
footer.site-footer nav{display:flex;flex-wrap:wrap;gap:8px 22px}
footer.site-footer a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:640px){.site-nav{gap:2px 16px}.site-header{position:static}}
@media(max-width:420px){.brand .full{font-size:14px;max-width:130px}}