/* Page-local reading rhythm; no legacy homepage or footer rules. */
.policy-main{width:min(100% - 40px,1000px);margin-inline:auto;padding-block:56px 64px}
.policy-heading{display:block;margin-bottom:24px}
.policy-heading>p{font-size:14px;line-height:1.6;color:var(--muted);margin-bottom:18px}
.policy-heading h1{font-size:clamp(38px,5vw,64px);line-height:1.12;letter-spacing:-.035em;font-weight:500}
.policy-summary{max-width:75ch;font-size:17px;line-height:1.75;color:var(--muted);margin-bottom:32px}
.policy-sections section{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;border-top:1px solid var(--line);padding-block:28px}
.policy-sections h2{font-size:15px;font-weight:600;line-height:1.6;color:var(--ink)}
.policy-sections p{font-size:16px;line-height:1.75;color:var(--muted);margin:0 0 14px}.policy-sections p:last-child{margin-bottom:0}
.policy-main a,.recruiting p a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.policy-page .site-footer{display:block}.policy-page .footer-top>p{max-width:30ch}
.recruiting{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-block:48px 64px;border-top:1px solid var(--line)}
.recruiting h2{font-size:clamp(27px,3vw,38px);line-height:1.25;letter-spacing:-.025em;max-width:20ch}
.recruiting>div>p{margin-top:20px;color:var(--muted);font-size:16px}
.recruiting form{display:grid;gap:18px;min-width:0}.recruiting-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.recruiting label{display:grid;gap:8px;font-size:15px}.recruiting input,.recruiting textarea{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:0;background:var(--bg);color:var(--ink);font:inherit;font-size:16px;line-height:1.5}.recruiting textarea{resize:vertical;min-height:120px}
.recruiting .button{justify-self:start}.recruiting .button:disabled{opacity:.6;cursor:wait}.recruiting :focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.recruiting-privacy{font-size:14px;color:var(--muted)}.recruiting [data-enquiry-status]{font-size:15px;min-height:24px}.recruiting [data-tone=error]{color:var(--warn)}
.recruiting .recruiting-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:700px){.policy-main{padding-block:32px 40px}.policy-sections section{grid-template-columns:1fr;gap:12px;padding-block:24px}.recruiting{grid-template-columns:1fr;gap:28px;padding-block:32px 40px}.recruiting-fields{grid-template-columns:1fr}.policy-page .footer-bottom{gap:12px;line-height:1.6}}
