:root{--paper:#f3f0e9;--ink:#0a0a0b;--pink:#f24f91;--purple:#8d54ef;--blue:#526ff2;--line:rgba(10,10,11,.2);--pad:clamp(20px,6vw,92px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}
a{color:inherit}
.noise{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.75' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
header{height:82px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
header img{display:block;width:58px;height:58px;object-fit:contain}
.back{font:900 11px Arial,sans-serif;letter-spacing:.1em;text-decoration:none}
.back:hover{text-decoration:underline;text-decoration-color:var(--pink);text-decoration-thickness:3px;text-underline-offset:5px}
:where(a,button):focus-visible{outline:3px solid var(--pink);outline-offset:4px}
.hero{padding:clamp(70px,10vw,140px) var(--pad) clamp(60px,8vw,100px);position:relative;overflow:hidden}
.hero:after{content:"PRIVACY";position:absolute;right:-.05em;top:-.08em;font:900 clamp(100px,20vw,310px)/1 Arial,sans-serif;letter-spacing:-.08em;color:transparent;background:linear-gradient(135deg,var(--pink),var(--purple),var(--blue));-webkit-background-clip:text;background-clip:text;opacity:.18}
.legal-terms .hero:after{content:"POLICY";font-size:clamp(120px,25vw,380px)}
.eyebrow{position:relative;z-index:1;font:800 11px ui-monospace,monospace;letter-spacing:.16em;color:var(--pink)}
h1{position:relative;z-index:1;margin:18px 0 0;font:900 clamp(44px,8vw,108px)/.95 "Arial Black","Yu Gothic",sans-serif;letter-spacing:-.055em}
.content{background:var(--ink);color:var(--paper);padding:clamp(70px,10vw,130px) var(--pad)}
.policy{max-width:940px;margin:0 auto}
.lead{font-size:clamp(16px,2vw,20px);line-height:2;margin:0 0 60px}
.lead p{margin:0}
.item{display:grid;grid-template-columns:70px 1fr;gap:28px;padding:32px 0;border-top:1px solid rgba(243,240,233,.28)}
.num{font:800 12px ui-monospace,monospace;color:var(--pink);letter-spacing:.12em}
.item h2{font-size:clamp(20px,3vw,30px);line-height:1.45;margin:0 0 16px}
.item p,.item li{font-size:15px;line-height:1.9;font-weight:500}
.item p{margin:0}
.item ul,.item ol{margin:0;padding-left:1.25em}
.item li{margin:0 0 8px}
.item li ul,.item li ol{margin-top:8px}
.date{margin:56px 0 0;text-align:right;font:700 11px/1.8 ui-monospace,monospace;letter-spacing:.1em}
.date p{margin:0}
.policy-content{counter-reset:policy-item}
.policy-content>:first-child{font-size:clamp(16px,2vw,20px);line-height:2;margin:0 0 60px}
.policy-content h2{counter-increment:policy-item;display:grid;grid-template-columns:70px 1fr;gap:28px;margin:0;padding:32px 0 16px;border-top:1px solid rgba(243,240,233,.28);font-size:clamp(20px,3vw,30px);line-height:1.45}
.policy-content h2:before{content:counter(policy-item,decimal-leading-zero);font:800 12px ui-monospace,monospace;color:var(--pink);letter-spacing:.12em;padding-top:.35em}
.policy-content h2+ol,.policy-content h2+ul,.policy-content h2+p{margin-top:0}
.policy-content p,.policy-content li{font-size:15px;line-height:1.9;font-weight:500}
.policy-content p{margin:0 0 24px}
.policy-content h2~p:not(.has-text-align-right){margin-left:calc(70px + 28px)}
.policy-content ol,.policy-content ul{margin:0 0 24px;padding-left:calc(70px + 28px + 1.25em)}
.policy-content li{margin:0 0 8px}
.policy-content li ol,.policy-content li ul{margin-top:8px;padding-left:1.5em}
.policy-content .has-text-align-right{text-align:right;margin:56px 0 0;font:700 11px/1.8 ui-monospace,monospace;letter-spacing:.1em}
footer{padding:28px var(--pad);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font:700 11px ui-monospace,monospace;letter-spacing:.1em}
@media(max-width:700px){.item,.policy-content h2{grid-template-columns:1fr;gap:10px}.policy-content h2~p:not(.has-text-align-right){margin-left:0}.policy-content ol,.policy-content ul{padding-left:1.25em}.hero:after{top:.15em}.content{padding-top:64px}footer{flex-direction:column}}
