body{overflow-x:clip;}
.wrap{max-width:760px;margin:0 auto;padding:0 16px;}
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 0 0;}
.mark{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:1.25rem;color:var(--royal);letter-spacing:-.02em;}
.mark .ico{width:24px;height:24px;}
.bar nav{display:flex;gap:4px;flex-wrap:wrap;}
.bar nav a{padding:8px 10px;border-radius:var(--r-xs);color:var(--ink-2);font-size:var(--t-small);font-weight:500;}
.bar nav a:hover{color:var(--ink);background:var(--sheet);}
.hero{padding:56px 0 28px;}
.hero .display{font-size:clamp(2.1rem,7.4vw,3.4rem);text-wrap:balance;margin:0 0 18px;}
.hero .lede{font-size:1.0625rem;color:var(--ink-2);max-width:58ch;margin:0 0 28px;line-height:1.7;}
.acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.acts .btn{min-height:52px;}
.acts small{display:block;width:100%;color:var(--ink-3);font-size:var(--t-small);margin-top:4px;}
.slip{margin:34px 0 0;background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r-l);box-shadow:var(--sh-m);padding:18px 20px;display:grid;gap:12px;max-width:520px;}
.slip .row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.slip .who b{font-family:var(--display);font-weight:600;font-size:1.0625rem;}
.slip .who span{color:var(--ink-3);font-size:var(--t-small);margin-left:6px;}
.slip .time{font-family:var(--display);font-size:1.75rem;font-weight:600;letter-spacing:-.015em;font-variant-numeric:tabular-nums;}
.slip ul{list-style:none;margin:0;padding:12px 0 0;border-top:1px solid var(--rule);display:grid;gap:6px;font-size:var(--t-small);color:var(--ink-2);}
.slip li{display:flex;gap:8px;align-items:center;}
.slip li .ico{width:17px;height:17px;color:var(--present);}
.sec{padding:34px 0;border-top:1px solid var(--rule);}
.sec h2{font-family:var(--display);font-size:var(--t-h1);font-weight:600;letter-spacing:-.012em;margin:0 0 12px;text-wrap:balance;}
.sec p{color:var(--ink-2);margin:0 0 12px;max-width:62ch;}
.promise{background:var(--royal-wash-2);border-radius:var(--r-l);padding:22px 22px;margin:0;}
.promise blockquote{margin:0 0 10px;font-family:var(--display);font-size:1.3rem;font-weight:600;line-height:1.35;color:var(--royal-ink);text-wrap:balance;}
.promise p{margin:0;color:var(--ink-2);font-size:var(--t-small);}
.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;gap:0;}
.steps li{counter-increment:s;display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 12px;padding:14px 0;border-bottom:1px solid var(--rule);}
.steps li:last-child{border-bottom:0;}
.steps li::before{content:counter(s);grid-row:span 2;font-family:var(--display);font-weight:600;font-size:1.5rem;color:var(--royal);line-height:1.2;font-variant-numeric:tabular-nums;}
.steps b{font-weight:600;}
.steps span{color:var(--ink-3);font-size:var(--t-small);}
.foot{padding:28px 0 40px;border-top:1px solid var(--rule);font-size:var(--t-small);color:var(--ink-3);display:flex;gap:8px 18px;flex-wrap:wrap;}
.foot a{color:var(--ink-2);font-weight:500;}
.foot a:hover{color:var(--royal);}
.doc{padding:36px 0 20px;}
.doc h1{font-family:var(--display);font-size:clamp(1.75rem,5.5vw,2.375rem);font-weight:600;letter-spacing:-.02em;margin:0 0 8px;text-wrap:balance;}
.doc .meta{margin-bottom:22px;}
.doc h2{font-family:var(--display);font-size:var(--t-h2);font-weight:600;margin:30px 0 8px;}
.doc h3{font-size:1rem;font-weight:600;margin:18px 0 6px;}
.doc p,.doc li{color:var(--ink-2);line-height:1.7;}
.doc ul{padding-left:20px;margin:0 0 12px;}
.doc table{width:100%;border-collapse:collapse;font-size:var(--t-small);margin:8px 0 16px;}
.doc th,.doc td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--rule);vertical-align:top;}
.doc th{color:var(--ink-3);font-weight:500;font-size:var(--t-micro);}
.doc .tw{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--r-s);background:var(--sheet);}
.doc .tw table{margin:0;}
.doc .en{margin-top:40px;padding-top:24px;border-top:2px solid var(--rule-2);}
.lang{display:inline-flex;gap:6px;margin:0 0 18px;flex-wrap:wrap;}
.lang a{font-size:var(--t-small);color:var(--royal);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.card{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r-l);padding:20px;margin:14px 0;}
.card h2{margin-top:0;}
.fld{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;}
.fld label{font-size:var(--t-small);color:var(--ink-2);font-weight:500;}
.fld input{height:48px;padding:0 14px;border-radius:var(--r-s);border:1px solid var(--rule-2);background:var(--sheet);width:100%;}
.fld input:focus{outline:none;border-color:var(--royal);box-shadow:0 0 0 3px var(--royal-wash);}
.check{display:flex;gap:10px;align-items:flex-start;margin:0 0 16px;color:var(--ink-2);font-size:var(--t-small);}
.check input{width:18px;height:18px;margin-top:3px;accent-color:var(--absent);}
.msg{padding:12px 14px;border-radius:var(--r-s);margin:0 0 14px;font-size:var(--t-small);}
.msg.err{background:var(--absent-wash);color:var(--absent-ink);}
.msg.ok{background:var(--present-wash);color:var(--present-ink);}
.center{text-align:center;padding:72px 0 48px;}
.center .display{font-size:clamp(1.9rem,6vw,2.6rem);margin-bottom:12px;}
.center p{color:var(--ink-2);margin:0 auto 24px;max-width:46ch;}
@media (max-width:520px){
  .bar nav a.opt{display:none;}
  .hero{padding-top:40px;}
  .acts .btn{width:100%;}
}
