/* Colour and motion share one system across the portal and skills finder. */
:root{--paper:#f6f3f2;--ink:#142f3e;--muted:#506876;--line:#ddd3d3;--cobalt:#dc0027;--sea:#a91b35;--ease:cubic-bezier(.23,1,.32,1)}
body{position:relative;isolation:isolate;background:var(--paper)}
.ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 92% 18%,#edc8ce 0,transparent 52%),radial-gradient(ellipse at 5% 75%,#f0d9d5 0,transparent 45%),#f6f3f2}
.flow-canvas{display:block;width:100%;height:100%;pointer-events:none}
.header{position:relative;z-index:5;background:#f8faf9ed;border-bottom-color:#cedce1}
.header .nav-cta{background:#c90028;color:#fff;border-color:#c90028}.header .nav-cta:hover{background:#a90022}
.hero,.match-intro{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#102d40;border:1px solid #244b60;border-radius:24px}
.hero{margin-top:24px;padding:55px 48px 72px;min-height:590px}
.hero>.flow-canvas,.match-intro>.flow-canvas{position:absolute;inset:0;z-index:-1;opacity:.95}
.hero-copy{position:relative}.hero h1 .accent{color:#ff91a2}.hero-description{color:#d1e1e9}.hero .eyebrow{color:#b8ceda}.hero .mini-square{background:#ed2146}
.hero .button.primary{background:#dc0027;color:#ffffff;box-shadow:0 8px 30px #051c3822}.hero .button.primary:hover{background:#b90022}.hero .text-button{color:#d0e4ed}.hero .text-button:hover{color:#fff}
.hero .photo-caption{color:#e1eef0}.hero .caption-rule{background:#ef526c}.hero .art-outline{border-color:#e98194}.hero .hero-photo{box-shadow:0 20px 60px #03152270}
.motion-control{position:absolute;left:34px;bottom:16px;display:flex;align-items:center;gap:8px;color:#d3e5ed;font-size:10px;letter-spacing:.025em;padding:8px 11px;border:1px solid #6d9aaa66;border-radius:30px;background:#102d4077;z-index:2}
.motion-control:before{content:'';width:5px;height:5px;background:#ff8095;border-radius:50%}.motion-control:hover{background:#a90022}.motion-control:focus-visible{outline-color:#ffb7c4}
.portal-workspace{background:#fffcfbe8;border-color:#ddc8cd;box-shadow:0 18px 60px #1f485c09}.role-list{background:#f4eaea;border-color:#e0cdd2}.role-tab{transition:background 240ms ease,border-color 240ms ease;color:#203e4e}
.role-tab:before,.opportunity:before,.job-card:before{display:none!important}
.role-tab[aria-selected=true]{background:#fbe2e7;border-color:#e9a1b0}.role-tab[aria-selected=true] strong,.role-tab[aria-selected=true] .role-arrow{color:#aa1534}
.role-tab[data-role=client][aria-selected=true]{background:#f8e4e8;border-color:#e1a5b4}.role-tab[data-role=client][aria-selected=true] strong,.role-tab[data-role=client][aria-selected=true] .role-arrow{color:#9b2544}
.role-tab[data-role=recruiter][aria-selected=true]{background:#f7e1df;border-color:#dca39f}.role-tab[data-role=recruiter][aria-selected=true] strong,.role-tab[data-role=recruiter][aria-selected=true] .role-arrow{color:#9c2636}
body[data-space=candidate] .panel-copy .primary{background:#dc0027}body[data-space=client] .panel-copy .primary{background:#c1183d}body[data-space=recruiter] .panel-copy .primary{background:#ad1639}
.opportunity{position:relative;background:#fffbfa99;border:1px solid #e0cbd0;border-radius:14px;padding:25px!important}.opportunity:nth-of-type(3){background:#f8e8e8b8}.opportunity h3{color:#18465a}
.closing{background:#153b4b;color:#ecf8f6;border-radius:20px;padding-inline:35px}.closing p span{color:#ff91a2}.closing-link:hover{color:#ff91a2}.closing-mark,.closing-mark:after{border-color:#b26577}
/* A single prepainted light moves continuously between surfaces. */
.shared-light{position:fixed;top:0;left:0;width:600px;height:600px;z-index:4;pointer-events:none;opacity:0;mix-blend-mode:multiply;transition:opacity 900ms var(--ease);contain:layout style paint}
.shared-light i{position:absolute;inset:0;border-radius:50%;opacity:0;transition:opacity 800ms var(--ease);background:radial-gradient(ellipse,#ed6c8866 0,#ed6c883d 23%,#ed6c8817 46%,transparent 69%)}
.shared-light i:nth-child(2){background:radial-gradient(ellipse,#d9517866 0,#d951783d 23%,#d9517817 46%,transparent 69%)}
.shared-light i:nth-child(3){background:radial-gradient(ellipse,#eb8b8266 0,#eb8b823d 23%,#eb8b8217 46%,transparent 69%)}
.shared-light[data-tone=candidate] i:first-child,.shared-light[data-tone=client] i:nth-child(2),.shared-light[data-tone=recruiter] i:nth-child(3){opacity:1}
.jobs-page{--blue:#c90028;--blue-dark:#a70021;--blue-soft:#fbe8ec;--line:#dfcdd2}
.match-intro{margin:26px 0 34px;padding:35px 38px 62px;min-height:272px;gap:24px}
.match-intro h1{font-size:clamp(45px,4.7vw,67px);line-height:1.08}.match-intro h1 span{color:#ff91a2}.match-intro .back-link{color:#c0d6e0;margin-bottom:23px}.intro-aside{padding-right:0;max-width:305px}.intro-aside>p{color:#d1e3ea;font-size:16px}.local-label{color:#bcd8df}.local-label img{filter:brightness(0) invert(1);opacity:.85}
.match-layout{gap:36px}.match-form{background:#fffcfc;border-color:#deccd1;box-shadow:0 12px 36px #173e5210;border-top:4px solid #dc0027}.form-heading h2{color:#153e52}.field-label{color:#264b5d}textarea,select{background:#f8f3f4;border-color:#d5bdc4}textarea::placeholder{color:#526e7d}
.skill-chip{background:#fffafb;border-color:#dec5cd;color:#254c60;transition:background 240ms ease,border-color 240ms ease,color 240ms ease}.skill-chip:hover{background:#fbe7eb}.skill-chip[aria-pressed=true]{background:#ba1737;border-color:#ba1737;color:#fff}
.match-submit{background:#dc0027!important}.match-submit:hover{background:#b50022!important}.privacy-copy{color:#526d7c}
.start-state{background:#f8e5e8b8;border:1px solid #e2c0c9;border-radius:20px;padding:20px 24px 35px}.start-state h2{color:#173f49}.start-state>p{color:#42656c}.skills-constellation svg path,.skills-constellation svg circle{stroke:#cc798f}.constellation-center{background:#f3cdd6;box-shadow:0 0 0 18px #f9e0e699}.constellation-label{background:#f9e9ed;color:#8b3450}.try-example{border-color:#dfbfc7}.try-example button{color:#a91b3d}
.snapshot-note{margin-top:22px;color:#486674}.job-card{background:#fffcfbe8;border:1px solid #dbc5cc;box-shadow:0 10px 35px #173e5208;border-radius:15px;transition:border-color 240ms ease,box-shadow 240ms ease;position:relative;overflow:hidden}.job-card:nth-child(2n){background:#fff5f5ed;border-color:#e1c4cd}.job-card:hover{border-color:#c9768d;box-shadow:0 14px 34px #1a507716}.job-card h3{color:#173e53}.job-tags span{background:#f8e1e7;color:#9f2542}.results-heading h2{color:#173e53}.method-label{color:#aa2542}.job-actions{border-color:#e2cbd2}
.matching-explained{border-top:1px solid #a8c5ce}.matching-explained h2{color:#173f50}
html[data-reduced-motion=true] .shared-light{transition:opacity 650ms var(--ease)}
@media(hover:hover) and (pointer:fine){.role-tab:hover{border-color:#d6a5b2;background:#f9e4e9}.role-tab[data-role=client]:hover{background:#f9e5ed}.role-tab[data-role=recruiter]:hover{background:#fae5e2}}
@media(max-width:1100px){.hero{margin-inline:24px;padding-inline:30px}.hero h1{font-size:78px}.match-intro{padding-inline:28px}.match-intro h1{font-size:55px}}
@media(max-width:800px){.hero{padding:35px 28px 65px;min-height:490px}.hero h1{font-size:65px}.match-intro{align-items:flex-start}.match-layout{gap:26px}.motion-control{left:27px}.intro-aside{max-width:250px}.intro-aside>p{font-size:14px}.opportunity{padding:20px!important}}
@media(max-width:720px){.match-intro{margin-top:18px;padding:28px 24px 66px;gap:22px;min-height:0;border-radius:19px}.match-intro h1{font-size:clamp(39px,9.5vw,57px)}.intro-aside{max-width:none}.intro-aside>p{max-width:300px}.match-intro .local-label{margin-top:10px;font-size:10px}.match-intro .back-link{margin-bottom:20px;font-size:10px}.match-intro .motion-control{left:24px}.start-state{padding-inline:18px}.match-form{padding:25px}.match-layout{gap:30px}}
@media(max-width:560px){.hero{margin:16px 15px 0;padding:30px 23px 72px;border-radius:20px;gap:35px}.hero h1{font-size:clamp(47px,14vw,70px)}.hero-description{font-size:14px}.hero-art{height:285px;margin:0 4px 5px}.hero-actions{gap:17px;flex-wrap:wrap}.hero .photo-caption{font-size:10px}.hero .motion-control{bottom:13px;left:23px}.closing{padding-inline:24px;border-radius:17px}.shared-light{display:none}.jobs-page .wrap{padding-inline:18px}.jobs-page .match-intro{padding-inline:22px}.jobs-page .match-form{padding-inline:23px}.start-state h2{font-size:29px}}

/* Brand accents extend to matching details and keyboard states. */
.jobs-page ::selection{background:#f5c9d3;color:#82142b}
.skills-constellation svg circle:nth-of-type(n+3){fill:#ca3659;stroke:#fff5f7}
.job-actions a,.job-card summary,.match-label,.snapshot-note a,.form-bottom .text-button,.method-label{color:#a71d3a}
.match-label:before{background:#d3284d}.save-job:hover,.save-job[aria-pressed=true],.saved-toggle[aria-pressed=true]{background:#f9e0e7;color:#9f1935}.saved-toggle span{background:#f6dce4;color:#a31937}
.loading-track{background:#f6dce4}.loading-track span{background:#dc0027}
.job-card:focus-within{border-color:#c9768d}.skill-chip{color:#51323e}.skill-chip[aria-pressed=true]{color:white}
/* Fluid desktop canvas: narrow, consistent gutters instead of a 1280px island. */
@media(min-width:1101px){
  :root{--page-gutter:clamp(28px,2.5vw,72px);--max:none}
  .wrap{width:100%;max-width:none;padding-inline:var(--page-gutter)}
  .header{width:100%;max-width:none;padding-inline:var(--page-gutter)}
  .hero.wrap,.closing.wrap{width:calc(100% - var(--page-gutter)*2);margin-inline:var(--page-gutter);padding-inline:clamp(36px,3vw,84px)}
  .hero{gap:clamp(36px,4vw,100px);grid-template-columns:1fr 1.05fr}
  .hero-art{height:clamp(450px,31vw,650px)}
  .hero h1{font-size:clamp(82px,6.5vw,138px)}
  .portal-workspace{grid-template-columns:minmax(280px,26%) minmax(0,1fr)}
  .role-panel{grid-template-columns:1.05fr 1fr}
  .match-layout{grid-template-columns:minmax(370px,32%) minmax(0,1fr);gap:clamp(28px,2.5vw,56px)}
  .match-intro{padding-inline:clamp(36px,3vw,72px)}
  .intro-aside{max-width:400px;padding-right:2vw}
}
@media(min-width:1440px){
  .hero-description{font-size:19px}.hero-actions .button{font-size:15px}
  .panel-copy{padding:40px clamp(32px,3vw,64px)}.panel-copy h3{font-size:clamp(36px,2.7vw,55px)}
  .panel-copy>p{font-size:15px;max-width:42ch}.panel-features{font-size:13px;gap:15px}.panel-copy .button{font-size:13px;min-height:52px}
  .role-tab strong{font-size:17px}.role-tab small{font-size:12px}.role-tab{padding:26px 22px}
  .start-state{padding:28px 36px 40px}.start-state>p,.try-example{max-width:500px}.start-state>p{font-size:15px}
  .job-card{padding:30px 32px}.job-card h3{font-size:27px}.job-summary{font-size:14px;max-width:80ch}
}
