*{box-sizing:border-box}
body{margin:0;background:#111111;color:#ededE8;font-family:Poppins,Helvetica,Arial,sans-serif;font-weight:300}
a{color:#ededE8;text-decoration-color:#b1c502;text-underline-offset:3px}a:hover{color:#b1c502}
.wrap{max-width:860px;margin:0 auto;padding:0 24px}
.wide .wrap{max-width:1180px}
header{border-bottom:1px solid #262626}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px 22px;min-height:88px;flex-wrap:wrap}
.logo{display:flex;flex-direction:column;align-items:flex-end;text-decoration:none;margin-right:auto}
.logo img{height:22px;width:auto;display:block}.logo span{font-family:Arial,Helvetica,sans-serif;font-size:10.5px;color:#9fa09c;margin-top:3px}
.langs{display:flex;gap:12px;font-size:11px;letter-spacing:.12em}.langs a{text-decoration:none;color:#a9a9a3;padding:8px 2px}.langs a[aria-current]{color:#b1c502}
.logout{margin:0}
.link{background:none;border:0;color:#a9a9a3;font:300 12px Poppins,sans-serif;cursor:pointer;text-decoration:underline;text-decoration-color:#4a4a46;text-underline-offset:3px;padding:10px 0}
.link:hover{color:#b1c502}
.hero{padding:70px 0 30px}
.narrow{max-width:460px}
.eyebrow{margin:0 0 14px;font-size:11px;letter-spacing:.36em;text-transform:uppercase;color:#b1c502}
h1{margin:0 0 18px;font-family:'Noto Serif JP',Georgia,serif;font-weight:200;font-size:clamp(38px,6vw,64px);line-height:1.08}
h1 em{font-family:Lora,Georgia,serif;font-style:italic;font-weight:400;color:#b1c502}
h2{font-family:'Noto Serif JP',Georgia,serif;font-weight:300;font-size:26px;color:#fff;margin:40px 0 18px}
.lead{margin:0;max-width:620px;font-size:16px;line-height:1.8;color:#c9c9c3}
.stack{display:flex;flex-direction:column;gap:18px;margin:10px 0 26px}
fieldset{border:0;border-top:1px solid #2e2e2e;margin:0;padding:38px 0 10px}
legend{float:left;width:100%;padding:0;margin:0 0 22px;font-family:'Noto Serif JP',Georgia,serif;font-weight:300;font-size:26px;color:#ffffff}
.grid{clear:both;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.grid3{clear:both;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 20px}
.full{grid-column:1/-1}
label.f{display:flex;flex-direction:column;gap:8px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#a9a9a3}
.help{clear:both;margin:-8px 0 18px;font-size:13px;line-height:1.6;color:#8c8c86}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=time],input[type=number],input[type=url],input[type=password],input[type=search],select,textarea{width:100%;border:1px solid #4a4a46;background:#191919;padding:13px 14px;font:300 15px Poppins,sans-serif;color:#ededE8;border-radius:0;color-scheme:dark;letter-spacing:normal;text-transform:none}
textarea{resize:vertical;min-height:52px;line-height:1.5}
input:focus,textarea:focus,select:focus{outline:2px solid #b1c502;outline-offset:1px}
.radios,.checks{clear:both;display:flex;flex-wrap:wrap;gap:10px 12px;margin-bottom:18px}
.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #4a4a46;padding:11px 14px;font-size:14px;cursor:pointer;min-height:44px}
.pill input{accent-color:#b1c502;width:16px;height:16px;margin:0}
.q{clear:both;margin:0 0 12px;font-size:15px;color:#ededE8}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.6;color:#a9a9a3;margin:10px 0}
.consent input{accent-color:#b1c502;width:18px;height:18px;margin:2px 0 0;flex:0 0 auto}
.actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.actions.sticky{padding:16px 0;border-top:1px solid #262626;margin-top:30px}
@media (min-width:701px){.actions.sticky{position:sticky;bottom:0;background:rgba(17,17,17,.94);z-index:5}}
.btn{display:inline-block;background:#b1c502;color:#111111;border:0;font:500 11px Poppins,sans-serif;letter-spacing:.26em;text-transform:uppercase;padding:19px 30px;cursor:pointer;min-height:44px;text-decoration:none}
.btn:hover{color:#111;background:#c4d81a}
.btn2{display:inline-block;background:transparent;color:#ededE8;border:1px solid #4a4a46;font:400 11px Poppins,sans-serif;letter-spacing:.2em;text-transform:uppercase;padding:17px 22px;cursor:pointer;min-height:44px;text-decoration:none}
.btn2:hover{border-color:#b1c502;color:#b1c502}
.btn2.danger{border-color:#7a3a33;color:#ffb4a8}
.status{font-size:12px;color:#8c8c86}
.small{font-size:13px;line-height:1.6}
.muted{color:#8c8c86}
.msg{margin:20px 0;padding:18px 20px;border:1px solid #b1c502;font-size:15px;line-height:1.6}
.msg.err{border-color:#ffb4a8;color:#ffb4a8}
.account{margin:50px 0 0;border-top:1px solid #2e2e2e;padding-top:24px}
.account summary{cursor:pointer;font-size:13px;color:#a9a9a3;padding:8px 0}
[hidden]{display:none !important}
footer{border-top:1px solid #262626;margin-top:80px;padding:30px 0;font-size:12px;color:#8c8c86}
footer a{color:#8c8c86;text-decoration:none}
/* admin */
table.list{width:100%;border-collapse:collapse;font-size:14px}
table.list th{text-align:left;font-weight:400;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#8c8c86;padding:10px 10px;border-bottom:1px solid #2e2e2e}
table.list td{padding:14px 10px;border-bottom:1px solid #222;vertical-align:top}
table.list tr.past td{color:#8c8c86}
.tag{display:inline-block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;border:1px solid #4a4a46;color:#a9a9a3;white-space:nowrap}
.tag.ok{border-color:#b1c502;color:#b1c502}
.cred{background:#191919;border:1px solid #b1c502;padding:20px;white-space:pre-wrap;font:300 15px/1.7 Poppins,sans-serif;margin:0 0 16px;user-select:all}
.plan h3{font-size:11px;letter-spacing:.3em;color:#b1c502;font-weight:400;margin:34px 0 10px}
.plan dl{display:grid;grid-template-columns:minmax(140px,240px) 1fr;gap:8px 20px;margin:0}
.plan dt{color:#8c8c86;font-size:13px}.plan dd{margin:0;white-space:pre-wrap;font-size:15px;line-height:1.55}
.bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 20px}
@media (max-width:700px){
 .grid,.grid3{grid-template-columns:minmax(0,1fr)}
 .plan dl{grid-template-columns:1fr}.plan dd{margin-bottom:10px}
 table.list thead{display:none}
 table.list tr{display:block;border-bottom:1px solid #2e2e2e;padding:12px 0}
 table.list td{display:block;border:0;padding:4px 0}
}
@media print{
 body{background:#fff;color:#000}
 header,footer,.actions,.consent,.status,.msg,.account,.bar,.noprint{display:none !important}
 input,textarea{border:1px solid #999;background:#fff;color:#000}
 legend,h1,h2,label.f,.q,.pill,.plan dd{color:#000}
 .plan dt,.plan h3{color:#444}
}
