/* The client brief uses the studio's existing typography and material palette. */
body{-webkit-font-smoothing:antialiased}
h1,h2,h3{text-wrap:balance}
button,a,input,select,textarea{touch-action:manipulation}
:focus-visible{outline:2px solid #a84130;outline-offset:4px}
.skip-to-brief{position:fixed;top:8px;left:16px;z-index:60;padding:10px 16px;background:var(--ink);color:var(--sheet);transform:translateY(-160%)}
.skip-to-brief:focus{transform:none}
.top{background:var(--sheet);border-bottom-color:var(--line)}
.top-in{padding-block:16px}
.brand{border-right:0;padding-right:0}
.title b{font-size:14px}.title span{font-size:10px;letter-spacing:.08em}
.sheetno{font:12px var(--disp);letter-spacing:0;margin-left:24px}
.status{font-size:10px;letter-spacing:.03em}
.status .dot{border-radius:50%}
.progress{height:3px;border-bottom:0}
.intro{margin:48px 0 64px;border:1px solid var(--line);border-radius:4px;overflow:hidden;grid-template-columns:1.2fr .8fr}
.intro .left{padding:56px 48px 40px}
.intro .right{padding:40px;background:#e4ebe5}
.intro h1{font-size:clamp(40px,5.3vw,68px);line-height:1.08;letter-spacing:-.06em;font-weight:500;margin:24px 0;max-width:none}
.intro p.lead{font-size:16px;line-height:1.85;max-width:42ch;margin-bottom:32px}
.tag{font:12px var(--disp);letter-spacing:0;text-transform:none;border:0;padding:0;color:var(--graphite)}
.tag::before{width:5px;height:5px;border-radius:50%}
.btn{border-radius:4px;box-shadow:none;min-height:48px;font-size:14px;transition:background .16s ease}
.btn:hover{box-shadow:none;background:#28504c}
.btn:active{transform:none;box-shadow:none}
.btn .arr{background:transparent;color:var(--sheet);transition:none}
.btn:hover .arr{transform:none}
.btn.ghost:hover{background:#e4ebe5}
.stats{margin-top:32px;padding-top:24px}.stats b{font-size:24px;font-weight:500}.stats span{font-size:11px}
.plan{margin:0 0 32px}
.rules li{font-size:12px;line-height:1.8;padding:14px 0 14px 28px;border-color:#17333120}
.rules li::before{font-size:10px;top:17px;color:var(--graphite)}
.app{grid-template-columns:230px minmax(0,1fr);padding-top:40px}
.rail .rl{font-size:11px;letter-spacing:.08em;padding-bottom:16px}
.rail li{font-size:12px;padding:12px 0;grid-template-columns:32px minmax(0,1fr)}
.rail li .n{font-size:10px}
.rail li.cur{background:#e4ebe5;border-left:2px solid var(--signal);margin-left:0;padding-left:10px}
.stage{padding-left:40px}
.chapter h2{font-weight:500;font-size:clamp(30px,3.5vw,44px);line-height:1.15;letter-spacing:-.045em}
.chapter p.intro-p{font-size:14px;line-height:1.8;margin-bottom:32px}
.q{padding:28px 0}.q-head h3{font-size:16px;font-weight:600}.q-head .help{font-size:12px;line-height:1.7}.q-head .idx{font-size:11px}
.opt{border-radius:4px;min-height:48px}.opt.on{background:#e4ebe5}.field input,.field textarea{border-radius:4px;min-height:48px}
@media(max-width:900px){.intro{grid-template-columns:1fr;margin:24px 0 40px}.intro .left{padding:32px 24px}.intro .right{padding:28px 24px;border-left:0;border-top:1px solid var(--line);display:block}.intro h1{font-size:48px}.intro p.lead{font-size:15px}.plan{max-width:400px;margin:0 auto 24px}.sheetno{display:none}.stage{padding-left:24px}.app{grid-template-columns:1fr}.rail{padding-right:0;position:static}.rail ol{display:flex;overflow:auto;gap:12px}.rail li{flex-shrink:0;min-width:120px}.rail .rl{display:none}.stage{border-left:0;padding-left:0}.rules li{font-size:13px}.stats{gap:24px}.btn{font-size:13px}}
@media(max-width:540px){.wrap{padding-inline:16px}.top-in{padding:12px 16px;gap:12px}.title b{font-size:12px}.title span{font-size:9px}.intro h1{font-size:40px}.intro .left{padding:28px 24px}.intro .right{padding:24px}.intro p.lead{font-size:14px}.stats b{font-size:22px}.status{font-size:9px}.q-head{grid-template-columns:28px 1fr}.q-body{padding-left:28px}.chapter h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
