/* Privacy page additions. Shared contact primitives remain scoped to .sl-contact-page. */
body.sl-privacy-page .sl-contact-main { display:none; }
.sl-privacy-page .sl-privacy-main { background:var(--sl-cloud); }
.sl-privacy-page .sl-privacy-hero { position:relative; min-height:520px; padding:clamp(150px,20vh,210px) clamp(18px,7vw,112px) 82px; overflow:hidden; border-bottom:1px solid var(--sl-line); background-color:var(--sl-paper); background-image:linear-gradient(var(--sl-line) 1px,transparent 1px),linear-gradient(90deg,var(--sl-line) 1px,transparent 1px); background-size:56px 56px; }
.sl-privacy-page .sl-privacy-hero>div { position:relative; z-index:1; max-width:760px; }
.sl-privacy-page .sl-privacy-hero h1 { margin:29px 0 0; font:600 clamp(46px,6vw,88px)/1.08 "Space Grotesk","Noto Sans JP",sans-serif; letter-spacing:-.075em; }
.sl-privacy-page .sl-privacy-hero h1 em { color:var(--sl-blue); font-style:normal; }
.sl-privacy-page .sl-privacy-hero>div>p:last-child { max-width:600px; margin:28px 0 0; font-size:16px; line-height:2; }
.sl-privacy-page .sl-privacy-content { display:grid; grid-template-columns:minmax(230px,.42fr) minmax(0,1fr); gap:clamp(32px,10vw,170px); padding:clamp(72px,10vw,150px) clamp(18px,7vw,112px); }
.sl-privacy-page .sl-privacy-lead p:last-child { margin:22px 0 0; font-size:15px; line-height:2; }
.sl-privacy-page .sl-privacy-copy { min-width:0; max-width:780px; }
.sl-privacy-page .sl-privacy-copy section { padding:0 0 31px; margin:0 0 31px; border-bottom:1px solid var(--sl-line); }
.sl-privacy-page .sl-privacy-copy h2 { margin:0 0 13px; font:600 clamp(20px,2.1vw,28px)/1.35 "Space Grotesk","Noto Sans JP",sans-serif; letter-spacing:-.035em; }
.sl-privacy-page .sl-privacy-copy p { margin:0; font-size:14px; line-height:2.05; overflow-wrap:anywhere; }
.sl-privacy-page .sl-privacy-copy p+p { margin-top:15px; }
.sl-privacy-page .sl-privacy-copy a { color:var(--sl-blue)!important; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.sl-privacy-page .sl-privacy-return { margin:45px 0 0; }
body.sl-contact-page .sl-home .sl-privacy-copy a { color:var(--sl-blue)!important; }body.sl-contact-page .sl-home .sl-privacy-return a { display:inline-block; padding:14px 18px; border:1px solid var(--sl-ink); background:var(--sl-ink); color:#fff!important; font:600 11px "IBM Plex Mono",monospace; letter-spacing:.08em; text-decoration:none; }
.sl-privacy-page .sl-privacy-return a:hover { box-shadow:4px 4px 0 var(--sl-yellow); transform:translate(-2px,-2px); }
@media (max-width:820px) { .sl-privacy-page .sl-privacy-hero { min-height:auto; padding:135px 18px 70px; background-size:42px 42px; }.sl-privacy-page .sl-privacy-hero h1 { margin-top:22px; font-size:clamp(43px,12.5vw,61px); }.sl-privacy-page .sl-privacy-hero>div>p:last-child { margin-top:20px; font-size:14px; line-height:1.95; }.sl-privacy-page .sl-privacy-content { display:block; padding:76px 18px; }.sl-privacy-page .sl-privacy-lead { margin-bottom:45px; }.sl-privacy-page .sl-privacy-copy h2 { font-size:21px; }.sl-privacy-page .sl-privacy-copy p { font-size:14px; line-height:2; } }
