:root{--paper:#f4efe4;--ink:#1c1a17;--ink-soft:#5b5650;--line:#d6cdb9;--red:#9e2b25;--serif:var(--font-cormorant), Georgia, serif;--sans:var(--font-manrope), system-ui, sans-serif;--cjk:var(--font-noto-sc), "Songti SC", serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:300 16px/1.6 var(--sans);margin:0}a{color:inherit}.hero{text-align:center;place-items:center;min-height:100svh;padding:64px 16px;display:grid;position:relative;overflow:hidden}.enso{opacity:.09;pointer-events:none;width:min(92vw,640px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-12deg)}.vertical{writing-mode:vertical-rl;font:400 clamp(22px, 3vw, 34px)/1 var(--cjk);letter-spacing:.5em;opacity:.75;position:absolute;top:50%;right:clamp(16px,6vw,80px);transform:translateY(-50%)}@media (max-width:560px){.vertical{opacity:.5;font-size:18px;top:24px;transform:none}}.hero-inner{max-width:720px;position:relative}.eyebrow{letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 28px;font-size:12px}h1{font:500 clamp(48px, 10vw, 104px)/.95 var(--serif);letter-spacing:-.01em;margin:0}h1 .num{letter-spacing:.4em;color:var(--red);margin-top:18px;padding-left:.4em;font-size:.5em;display:block}.date{font:400 22px/1 var(--serif);letter-spacing:.08em;align-items:center;gap:18px;margin:40px 0 0;display:inline-flex}.date:before,.date:after{content:"";background:var(--ink);opacity:.4;width:40px;height:1px}.seal{background:var(--red);width:44px;height:44px;color:var(--paper);font:600 13px/1.05 var(--cjk);writing-mode:vertical-rl;letter-spacing:.05em;border-radius:4px;place-items:center;margin-top:44px;display:inline-grid}.cta{border:1px solid var(--ink);letter-spacing:.24em;text-transform:uppercase;width:max-content;margin:44px auto 0;padding:14px 36px;font-size:13px;text-decoration:none;transition:background .2s,color .2s;display:block}.cta:hover{background:var(--ink);color:var(--paper)}section.block{padding:96px 16px}.wrap{max-width:640px;margin:0 auto}h2{font:500 clamp(32px, 5vw, 44px)/1.1 var(--serif);text-align:center;margin:0 0 12px}.lead{text-align:center;color:var(--ink-soft);margin:0 0 56px}.divider{color:var(--red);font-family:var(--cjk);justify-content:center;align-items:center;gap:14px;margin:0 0 20px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);width:56px;height:1px}.venue{text-align:center;border-bottom:1px solid var(--line)}.venue address{margin:28px 0 0;font-style:normal}.venue address p{margin:0;font-size:18px}.venue .venue-name{font:500 28px/1.2 var(--serif);margin-bottom:8px}.venue .venue-note{color:var(--ink-soft);margin-top:4px;font-size:15px}.venue-metro{color:var(--ink-soft);margin:24px 0 0;font-size:15px}.metro{background:var(--red);width:22px;height:22px;color:var(--paper);font:600 12px/1 var(--sans);vertical-align:1px;border-radius:50%;place-items:center;margin-right:6px;display:inline-grid}.venue .cta{margin-top:32px}form{gap:28px;display:grid}.field{gap:8px;display:grid}label,.label{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-size:12px}.req{color:var(--red)}input[type=text],input[type=email],input[type=tel],input[type=number],textarea{width:100%;font:400 17px/1.4 var(--sans);color:var(--ink);border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;outline:none;padding:10px 0;transition:border-color .2s}textarea{resize:vertical;min-height:64px}::placeholder{color:#a39b8e;opacity:1}input:focus,textarea:focus{border-color:var(--ink)}.invalid{border-color:var(--red)!important}.row{grid-template-columns:1fr 1fr;gap:28px;display:grid}@media (max-width:560px){.row{grid-template-columns:1fr}}.seg{border:1px solid var(--ink);grid-template-columns:1fr 1fr;display:grid}.seg input{opacity:0;pointer-events:none;position:absolute}.seg label{text-align:center;cursor:pointer;color:var(--ink);padding:14px 8px;font-size:13px;transition:background .2s,color .2s}.seg label+input+label{border-left:1px solid var(--ink)}.seg input:checked+label{background:var(--ink);color:var(--paper)}.seg input:focus-visible+label{outline:2px solid var(--red);outline-offset:-4px}.athlete{gap:28px;display:grid}.forms-hint{color:var(--ink-soft);margin:4px 0 0;font-size:13px}.slots{counter-reset:slot;gap:16px;display:grid}.slot{counter-increment:slot;border:1px solid var(--line);background:#fffdf8a0;gap:14px;padding:18px 18px 20px;display:grid}.slot-top{align-items:center;gap:12px;display:flex}.slot-top:before{content:counter(slot, cjk-ideographic);font:400 20px/1 var(--cjk);color:var(--red);width:24px}.slot .seg{border-color:var(--line);flex:1}.slot .seg label{padding:9px 6px;font-size:12px}.slot .seg label+input+label{border-left-color:var(--line)}.slot .seg input:disabled+label{opacity:.35;cursor:not-allowed}.remove{cursor:pointer;width:32px;height:32px;color:var(--ink-soft);background:0 0;border:0;font-size:22px;line-height:1}.remove:hover{color:var(--red)}.add{border:1px dashed var(--ink-soft);font:400 13px var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;color:var(--ink);background:0 0;justify-self:start;padding:12px 20px}.add:hover{border-style:solid}.error-msg{color:var(--red);min-height:1em;margin:0;font-size:14px}.submit{background:var(--red);color:var(--paper);font:500 14px var(--sans);letter-spacing:.26em;text-transform:uppercase;cursor:pointer;border:0;margin-top:8px;padding:18px;transition:opacity .2s}.submit:hover{opacity:.9}.submit:disabled{opacity:.5;cursor:wait}.done{text-align:center;justify-items:center;gap:16px;display:grid}.done .seal{width:64px;height:64px;margin:0 0 8px;font-size:20px}.done p{color:var(--ink-soft);margin:0}footer{border-top:1px solid var(--line);text-align:center;color:var(--ink-soft);padding:32px 16px;font-size:13px}footer a{border-bottom:1px solid var(--line);text-decoration:none}
