/* Rebrand check + "two ways to work" block. Uses the site's own tokens (--orange, --paper, --muted, --line, fonts). */
.rc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rc-quiz[hidden],.rc-result[hidden],.rc-cta[hidden],.rc-back[hidden]{display:none}

/* Intro (reuses .contact-intro) */
.rc-note{margin-top:24px;font:400 12px/1.7 var(--mono);color:var(--muted);max-width:430px}
.rc-intro .pill{border:0;cursor:pointer;font-family:inherit}
.rc-intro .pill:focus-visible,.rc-next:focus-visible{outline:2px solid var(--paper);outline-offset:5px}

/* Intro spacing: get to the first question quickly */
.rc-intro{padding-top:56px;padding-bottom:44px}
.rc-intro h1{margin:26px 0 34px}

/* Quiz */
.rc-quiz{padding:52px 5% 90px;border-top:1px solid var(--line);scroll-margin-top:80px}
.rc-shell{display:grid;grid-template-columns:minmax(140px,.32fr) minmax(0,1.68fr);gap:7%;max-width:1240px}
.rc-progress{position:sticky;top:110px;align-self:start}
.rc-count{font:700 clamp(46px,5.2vw,80px)/1 var(--display);letter-spacing:-.055em}
.rc-count small{font:400 12px var(--mono);letter-spacing:0;color:var(--muted);margin-left:8px}
.rc-bar{height:2px;background:var(--line);margin-top:22px;position:relative}
.rc-bar>i{position:absolute;inset:0 auto 0 0;width:0;background:var(--orange);transition:width .35s cubic-bezier(.2,.7,.2,1)}
.rc-quiz fieldset{border:0;margin:0;padding:0;min-width:0}
.rc-quiz legend{float:left;width:100%;padding:0;font:700 clamp(28px,3.5vw,52px)/1.1 var(--display);letter-spacing:-.045em;outline:none}
.rc-quiz legend+*{clear:both}
.rc-help{margin:0;padding-top:16px;font-size:16px;color:var(--muted)}
.rc-options{list-style:none;margin:0;padding:30px 0 0;display:grid;gap:12px;max-width:780px}
.rc-option{position:relative}
.rc-option input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.rc-option label{display:flex;align-items:center;gap:18px;padding:20px 24px;border:1px solid var(--line);font-size:18px;line-height:1.35;transition:border-color .15s,background .15s,color .15s}
.rc-option label::before{content:'';flex:0 0 18px;height:18px;border:1px solid #8a858c;border-radius:50%;transition:background .15s,border-color .15s,box-shadow .15s}
.rc-option:hover label{border-color:var(--orange)}
.rc-option input:focus-visible+label{outline:2px solid var(--paper);outline-offset:4px}
.rc-option input:checked+label{background:var(--orange);border-color:var(--orange);color:#090909}
.rc-option input:checked+label::before{background:#090909;border-color:#090909;box-shadow:inset 0 0 0 4px var(--orange)}
.rc-actions{display:flex;align-items:center;gap:30px;margin-top:38px}
.rc-back{border:0;background:none;color:var(--muted);font:400 15px var(--body);border-bottom:1px solid;padding:0 0 7px;cursor:pointer}
.rc-back:hover{color:var(--paper)}
.rc-next{border:0;cursor:pointer;font-family:inherit}
.rc-next[disabled]{opacity:.3;cursor:not-allowed;pointer-events:none}

/* Result */
.rc-result{padding:56px 5% 46px;border-top:1px solid var(--line)}
.rc-result>.eyebrow{display:block;color:var(--orange);margin-bottom:28px}
.rc-result h2{font:700 clamp(40px,5.4vw,86px)/1.02 var(--display);letter-spacing:-.05em;outline:none}
.rc-result h2 span{color:var(--orange)}
.rc-summary{max-width:620px;margin:22px 0 0;font-size:19px;line-height:1.55;color:var(--muted)}
.rc-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:42px 36px}
.rc-notes article{border-top:1px solid var(--line);padding-top:20px}
.rc-notes .eyebrow{display:block;margin-bottom:14px;color:var(--muted)}
.rc-notes p{font-size:17px;line-height:1.6}
.rc-start-here{max-width:780px;margin-top:60px;padding-top:26px;border-top:1px solid var(--line);font-size:20px;line-height:1.55}
.rc-fine{max-width:640px;margin-top:36px;font:400 12px/1.7 var(--mono);color:var(--muted)}

/* Call to action */
.rc-cta{background:var(--orange);color:#090909;padding:56px 5% 64px}
.rc-cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}
.rc-cta h2{font:700 clamp(34px,4.3vw,66px)/1.04 var(--display);letter-spacing:-.05em}
.rc-cta-copy p{max-width:450px;margin-top:22px;font-size:19px;line-height:1.55}
.rc-cta-copy .line-link{color:#090909;margin-top:34px}
.rc-cta-copy .line-link:hover{color:#f4f4f1}
.rc-field{display:block;margin:0 0 28px}
.rc-field>span{display:block;margin-bottom:6px;font:400 12px/1.5 var(--mono)}
.rc-field input{width:100%;border:0;border-bottom:1px solid #090909;border-radius:0;background:transparent;padding:8px 0 12px;font:400 22px/1.3 var(--body);color:#090909}
.rc-field input::placeholder{color:#09090999}
.rc-field input:focus-visible{outline:2px solid #090909;outline-offset:6px}
.rc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rc-cta .dark-pill{border:0;cursor:pointer;font-family:inherit;background:#101010;color:#f4f4f1;margin-top:6px}
.rc-cta .dark-pill:hover{background:#f4f4f1;color:#090909}
.rc-cta .dark-pill:focus-visible{outline:2px solid #090909;outline-offset:5px}
.rc-cta .dark-pill[disabled]{opacity:.5;cursor:wait}
.rc-privacy{max-width:430px;margin-top:20px;font:400 12px/1.6 var(--mono)}
.rc-status{margin-top:20px;font-size:17px;line-height:1.5;min-height:1.5em}

/* Two ways to work (home + contact) */
.ways{display:grid;grid-template-columns:1fr 1fr;gap:0 6%;margin-top:84px;border-top:1px solid var(--line)}
.way{padding-top:34px;max-width:540px}
.way>.eyebrow{display:block;margin-bottom:18px;color:var(--orange)}
.way h3{font:700 clamp(26px,2.7vw,40px)/1.1 var(--display);letter-spacing:-.04em;margin-bottom:16px}
.way p{font-size:17px;line-height:1.6;color:var(--muted)}

@media(max-width:900px){
  .rc-cta-grid{grid-template-columns:1fr;gap:44px}
}
@media(max-width:760px){
  .rc-quiz{padding:48px 6% 70px}
  .rc-shell{grid-template-columns:1fr;gap:26px}
  .rc-progress{position:static;display:flex;align-items:center;gap:20px}
  .rc-count{font-size:40px;white-space:nowrap}
  .rc-bar{flex:1;margin-top:0}
  .rc-option label{padding:17px 18px;font-size:16px;gap:14px}
  .rc-actions{gap:22px}
  .rc-result{padding:56px 6% 56px}
  .rc-summary{font-size:18px;margin-bottom:44px}
  .rc-start-here{font-size:18px}
  .rc-cta{padding:50px 6% 60px}
  .rc-field input{font-size:19px}
  .ways{grid-template-columns:1fr;margin-top:52px}
  .way+.way{margin-top:38px}
  .way{padding-top:28px}
}

/* Hero speech bubble (home) */
.hero-bubble{position:absolute;z-index:5;top:3%;right:0;width:min(250px,46%);display:block;padding:18px 20px 16px;background:#f4f4f1;color:#090909;border-radius:22px;box-shadow:0 18px 40px #0008;animation:bubble-bob 5.5s ease-in-out infinite;transition:background .2s}
.hero-bubble::after{content:'';position:absolute;left:26px;bottom:-15px;width:24px;height:17px;background:inherit;clip-path:polygon(0 0,100% 0,0 100%)}
.hb-q{display:block;font:700 clamp(17px,1.5vw,22px)/1.15 var(--display);letter-spacing:-.035em}
.hb-go{display:flex;align-items:center;gap:10px;margin-top:12px;font:400 11px/1 var(--mono);letter-spacing:.03em}
.hb-go b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--orange);color:#090909;font:400 14px/1 var(--body);transition:background .2s,color .2s,transform .2s}
.hero-bubble:hover{background:var(--orange)}
.hero-bubble:hover .hb-go b{background:#090909;color:#f4f4f1;transform:rotate(45deg)}
.hero-bubble:focus-visible{outline:2px solid #f4f4f1;outline-offset:5px}
@keyframes bubble-bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}
@media(max-width:760px){.hero-bubble{width:min(215px,58%);padding:14px 16px 13px;top:1%}.hb-q{font-size:16px}}

/* Result: links row, collapsed details, and the move from result to contact */
.rc-links{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:26px}
.rc-link{border:0;background:none;padding:0 0 6px;color:var(--paper);font:400 15px var(--body);border-bottom:1px solid;cursor:pointer}
.rc-link:hover{color:var(--orange)}
.rc-link:focus-visible{outline:2px solid var(--paper);outline-offset:5px}
.rc-more{padding:56px 5% 84px}
.rc-more[hidden]{display:none}
.rc-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rc-details summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;cursor:pointer;list-style:none;font:700 clamp(22px,2.4vw,32px)/1.1 var(--display);letter-spacing:-.04em}
.rc-details summary::-webkit-details-marker{display:none}
.rc-details summary::after{content:'+';font:400 30px/1 var(--body);color:var(--orange);transition:transform .25s}
.rc-details[open] summary::after{transform:rotate(45deg)}
.rc-details summary:focus-visible{outline:2px solid var(--paper);outline-offset:4px}
.rc-details .rc-notes{padding:10px 0 6px}
.rc-details .rc-start-here{margin:34px 0 34px;padding-top:24px}
.rc-more .rc-fine{margin-top:26px}
.rc-fade{animation:rc-fade .28s ease-out}
.rc-rise{animation:rc-rise .7s cubic-bezier(.16,1,.3,1) both}
.rc-result.rc-enter>.rc-rise:nth-child(2){animation-delay:.07s}
.rc-result.rc-enter>.rc-rise:nth-child(3){animation-delay:.17s}
.rc-result.rc-enter>.rc-rise:nth-child(4){animation-delay:.27s}
.rc-cta.rc-enter{animation:rc-wipe .85s cubic-bezier(.16,1,.3,1) .4s both}
@keyframes rc-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes rc-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes rc-wipe{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@media(max-width:760px){
  .rc-intro{padding-top:40px;padding-bottom:30px}
  .rc-result{padding:40px 6% 34px}
  .rc-cta{padding:44px 6% 52px}
  .rc-more{padding:40px 6% 60px}
}

.rc-result,.rc-more,.rc-cta{scroll-margin-top:96px}
