/* Newsletter section, shared by every page (markup comes from i18n/page-legal.js) */
.news{position:relative;z-index:1;padding:clamp(72px,11vh,130px) 0;border-top:1px solid var(--line,#2a313d)}
.news-wrap{width:min(1180px,100% - 32px);margin-inline:auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.news-head h2{margin:16px 0 0;font-family:var(--display);font-weight:500;letter-spacing:.05em;line-height:1.14;font-size:clamp(30px,3.6vw,50px)}
.news-head p{margin:20px 0 0;max-width:42ch;color:#cfd4da}
.news-form{display:grid;gap:18px}
.nf-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.nf{display:grid;gap:8px;min-width:0}
.nf span{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--ash,#98a2af)}
.nf input,.nf select{width:100%;min-width:0;height:52px;margin:0;padding:0 16px;border:1px solid var(--line-strong,#4b5566);border-radius:2px;background:rgba(10,13,19,.6);color:var(--bone,#e9ecef);font:inherit;font-size:17px;transition:border-color .3s var(--ease-out),background .3s var(--ease-out)}
.nf select{appearance:none;-webkit-appearance:none;padding-right:42px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2398a2af' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.nf select option{background:#10141c;color:#e9ecef}
.nf input:hover,.nf select:hover{border-color:#6b7686}
.nf input:focus,.nf select:focus{outline:none;border-color:var(--ice,#b7dcf0);background-color:rgba(183,220,240,.04)}
.nf input:-webkit-autofill{-webkit-text-fill-color:#e9ecef;-webkit-box-shadow:0 0 0 40px #10141c inset;caret-color:#e9ecef}
.nf-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.nf-check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:14px;align-items:start;cursor:pointer;font-size:16px;line-height:1.5;color:#cfd4da}
.nf-check input{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:1px 0 0;border:1px solid var(--line-strong,#4b5566);border-radius:2px;background:rgba(10,13,19,.6);cursor:pointer;display:grid;place-items:center;transition:border-color .3s var(--ease-out),background .3s var(--ease-out)}
.nf-check input::after{content:"";width:11px;height:6px;border-left:2px solid #15100a;border-bottom:2px solid #15100a;transform:translateY(-2px) rotate(-45deg) scale(0);transition:transform .25s var(--ease-out)}
.nf-check input:checked{background:var(--gold,#dca54b);border-color:var(--gold,#dca54b)}
.nf-check input:checked::after{transform:translateY(-2px) rotate(-45deg) scale(1)}
.nf-check input:focus-visible{outline:2px solid var(--ice,#b7dcf0);outline-offset:3px}
.nf-check a{color:var(--ice,#b7dcf0);text-decoration:underline;text-decoration-color:rgba(183,220,240,.4);text-underline-offset:3px}
.nf-foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:6px}
.nf-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;margin:0;padding:15px 34px;border:0;border-radius:2px;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:#15100a;background:linear-gradient(180deg,#e8b862,var(--gold,#dca54b) 55%,#c48c34);cursor:pointer;transition:transform .5s var(--ease-out),opacity .3s}
.nf-btn:hover{transform:translateY(-2px)}
.nf-btn:disabled{opacity:.6;cursor:progress;transform:none}
.nf-btn svg{width:14px;height:14px}
.nf-note{margin:0;font-size:15px;font-style:italic;color:var(--ash,#98a2af)}
.nf-status{margin:0;min-height:1.5em;font-size:17px}
.nf-status:empty{display:none}
.nf-status.ok{color:var(--ice,#b7dcf0);font-family:var(--display);font-size:clamp(20px,1.4vw + 12px,26px);letter-spacing:.03em;line-height:1.3}
.nf-status.bad{color:#f0a58a}
.news-form.done .nf-row,.news-form.done .nf-check,.news-form.done .nf-foot{display:none}
html[lang="ja"] .nf span,html[lang="zh-CN"] .nf span,html[lang="ja"] .nf-btn,html[lang="zh-CN"] .nf-btn{letter-spacing:.08em}
html[lang="ja"] .nf-note,html[lang="zh-CN"] .nf-note{font-style:normal}
@media (max-width:900px){.news-wrap{grid-template-columns:1fr}}
@media (max-width:560px){.nf-row{grid-template-columns:1fr}.nf-btn{width:100%}}
