/* Pages légales Osaka Studio : noir et rose, lisibles, légères */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--ink:#F5F5F7;--mute:#A1A1A6;--faint:rgba(245,245,247,.4);--line:rgba(245,245,247,.1);--pink:#FF4F9A;--pink-soft:#FFB3D1;--pink-deep:#C8106A;--ease:cubic-bezier(.16,1,.3,1);--display:'Inter Tight','Inter',system-ui,sans-serif}
html{background:#000;color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;line-height:1.7;letter-spacing:-.011em;min-height:100svh;overflow-x:hidden}
::selection{background:var(--pink);color:#000}
a{color:inherit}
:focus-visible{outline:2px solid var(--pink-soft);outline-offset:4px;border-radius:8px}

.glow{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(40% 35% at 85% 0%,rgba(255,79,154,.22),transparent 70%),radial-gradient(35% 30% at 0% 100%,rgba(200,16,106,.2),transparent 70%);
  animation:breathe 10s ease-in-out infinite alternate}
@keyframes breathe{to{opacity:.6;transform:scale(1.08)}}

.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:calc(18px + env(safe-area-inset-top)) clamp(20px,5vw,48px) 18px;
  background:linear-gradient(#000 40%,rgba(0,0,0,0));}
.logo{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none}
.logo svg{width:28px;height:28px;filter:drop-shadow(0 0 8px rgba(255,79,154,.5));transition:transform .9s var(--ease)}
.logo:hover svg{transform:rotate(360deg)}
.logo span{font-family:var(--display);font-weight:700;font-size:.8rem;letter-spacing:.34em}
.logo span i{font-style:normal;font-weight:400;color:var(--mute)}
.back{font-size:.9rem;color:var(--mute);text-decoration:none;padding:.55rem 1rem;border-radius:999px;border:1px solid var(--line);transition:color .3s,border-color .3s}
.back:hover{color:var(--ink);border-color:var(--pink)}

main{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:clamp(40px,8vh,90px) clamp(20px,5vw,32px) 80px}
.kicker{display:inline-flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--mute)}
.kicker::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--pink);box-shadow:0 0 12px var(--pink)}
h1{font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,7vw,4.4rem);line-height:1;letter-spacing:-.045em;margin:1rem 0 .8rem}
.updated{color:var(--faint);font-size:.9rem;margin-bottom:3rem}
section{padding:2rem 0;border-top:1px solid var(--line)}
h2{font-family:var(--display);font-weight:700;font-size:1.35rem;letter-spacing:-.03em;margin-bottom:.9rem;display:flex;align-items:baseline;gap:.7rem}
h2 small{font-family:'Inter',sans-serif;font-weight:600;font-size:.8rem;color:var(--pink)}
p,li{color:var(--mute);font-size:1rem}
p+p{margin-top:.8rem}
strong{color:var(--ink);font-weight:500}
ul{list-style:none;margin-top:.6rem;display:grid;gap:.45rem}
ul li{padding-left:1.1rem;position:relative}
ul li::before{content:'';position:absolute;left:0;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--pink)}
dl{display:grid;grid-template-columns:max-content 1fr;gap:.55rem 1.4rem}
dt{color:var(--faint);font-size:.92rem}
dd{color:var(--ink)}
dd a,p a{color:var(--pink-soft);text-decoration:underline;text-underline-offset:3px}
dd a:hover,p a:hover{color:var(--pink)}
@media (max-width:560px){dl{grid-template-columns:1fr;gap:.1rem}dd{margin-bottom:.7rem}}
.todo{color:#000;background:var(--pink-soft);padding:.05rem .45rem;border-radius:6px;font-weight:600;font-size:.9em}

footer{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:30px clamp(20px,5vw,32px) calc(40px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.85rem;color:var(--faint)}
footer nav{display:flex;gap:1.2rem}
footer a{color:var(--mute);text-decoration:none;transition:color .3s}
footer a:hover{color:var(--pink)}

/* Apparition douce au chargement */
.in{opacity:0;transform:translateY(18px);animation:in 1s var(--ease) forwards}
.in:nth-child(2){animation-delay:.06s}.in:nth-child(3){animation-delay:.12s}.in:nth-child(4){animation-delay:.18s}
@keyframes in{to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.in{animation:none;opacity:1;transform:none}.glow{animation:none}}
